diff --git a/.github/actions/publish-docker-images/action.yaml b/.github/actions/publish-docker-images/action.yaml new file mode 100644 index 000000000..7fd5f5445 --- /dev/null +++ b/.github/actions/publish-docker-images/action.yaml @@ -0,0 +1,94 @@ +name: 'Publish Docker Images' +description: 'Publishes the Docker Images' +inputs: + dockerfile: + description: 'Dockerfile to build' + required: true + tag: + description: 'The Tag for the Docker image' + required: true + version_tag: + description: 'Specific version tag' + required: false + major_version_tag: + description: 'Major version tag' + required: false + secret_docker_username: + description: "Docker username" + required: true + secret_docker_password: + description: "Docker password" + required: true + secret_github_package: + description: "Github Package Secret" + required: true +runs: + using: "composite" + steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + with: + platforms: linux/amd64,linux/arm64,linux/arm/v7 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + with: + platforms: linux/amd64,linux/arm64,linux/arm/v7 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ inputs.secret_docker_username }} + password: ${{ inputs.secret_docker_password }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ inputs.secret_github_package }} + + - name: Prepare env + run: | + echo "BUILD_VERSION=${GITHUB_RUN_NUMBER}-${GITHUB_RUN_ID}" >> $GITHUB_ENV + shell: bash + + - name: Build & Push Tag to Package Repositories + if: inputs.version_tag == '' + id: docker_build_1 + uses: docker/build-push-action@v3 + with: + push: true + file: ./docker/${{ inputs.dockerfile }} + platforms: linux/amd64,linux/arm64,linux/arm/v7 + build-args: VERSION=${{ env.BUILD_VERSION }} + tags: | + ${{ inputs.secret_docker_username }}/peloton-to-garmin:${{ inputs.tag }} + ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ inputs.tag }} + + - name: Image digest + if: inputs.version_tag == '' + run: echo ${{ steps.docker_build_1.outputs.digest }} + shell: bash + + - name: Build & Push Version Tags to Package Repositories + if: inputs.version_tag != '' + id: docker_build_2 + uses: docker/build-push-action@v3 + with: + push: true + file: ./docker/${{ inputs.dockerfile }} + platforms: linux/amd64,linux/arm64,linux/arm/v7 + build-args: VERSION=${{ env.BUILD_VERSION }} + tags: | + ${{ inputs.secret_docker_username }}/peloton-to-garmin:${{ inputs.tag }} + ${{ inputs.secret_docker_username }}/peloton-to-garmin:${{ inputs.version_tag }} + ${{ inputs.secret_docker_username }}/peloton-to-garmin:${{ inputs.major_version_tag }} + ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ inputs.tag }} + ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ inputs.version_tag }} + ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ inputs.major_version_tag }} + + - name: Image digest + if: inputs.version_tag != '' + run: echo ${{ steps.docker_build_2.outputs.digest }} + shell: bash diff --git a/.github/actions/publish-ui-dist/action.yaml b/.github/actions/publish-ui-dist/action.yaml new file mode 100644 index 000000000..c88f4016b --- /dev/null +++ b/.github/actions/publish-ui-dist/action.yaml @@ -0,0 +1,63 @@ +name: 'Publish UI Distribution' +description: 'Publishes the UI Distribution' +inputs: + dotnet-version: + description: 'Version of dotnet to install' + required: true + framework: + description: 'DotNet Framework' + required: true + os: + description: 'The OS we are running on' + required: true +outputs: + artifact: + description: 'Path to the published artifact' + value: ${{ github.workspace }}/dist/${{ inputs.os }}-ui +runs: + using: "composite" + steps: + - name: Setup .NET Core SDK ${{ inputs.dotnet-version }} + uses: actions/setup-dotnet@v3 + with: + dotnet-version: ${{ inputs.dotnet-version }} + + - name: List MAUI Workloads + run: dotnet workload list + shell: pwsh + + - name: Prepare env + run: | + echo "BUILD_VERSION=$Env:GITHUB_RUN_NUMBER-$Env:GITHUB_RUN_ID" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append + echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append + shell: pwsh + + - name: Publish ${{ inputs.os }} + run: dotnet publish ${{ github.workspace }}/src/ClientUI/ClientUI.csproj -c Release -f ${{ inputs.framework }} -p:RuntimeIdentifierOverride=${{ inputs.os }} -p:PublishSingleFile=true -p:SelfContained=true + shell: pwsh + + - name: Rename Config + run: Rename-Item ${{ github.workspace }}/src/ClientUI/bin/Release/${{ inputs.framework }}/${{ inputs.os }}/configuration.example.json -NewName configuration.local.json + shell: pwsh + + - name: Remove nested Publish Dir + run: Remove-Item ${{ github.workspace }}/src/ClientUI/bin/Release/${{ inputs.framework }}/${{ inputs.os }}/publish -Recurse + shell: pwsh + + # Create Build Artifact + - name: Upload Artifact ui_${{ inputs.os }}_${{ env.BUILD_VERSION }} + uses: actions/upload-artifact@v3 + with: + name: ui_${{ inputs.os }}_${{ env.BUILD_VERSION }} + path: ${{ github.workspace }}/src/ClientUI/bin/Release/${{ inputs.framework }}/${{ inputs.os }} + + +# Installed Workload Id Manifest Version Installation Source +# --------------------------------------------------------------------- +# maui-android 7.0.92/7.0.100 VS 17.7.34031.279 +# android 33.0.68/7.0.100 VS 17.7.34031.279 +# ios 16.4.7098/7.0.100 VS 17.7.34031.279 +# maui-ios 7.0.92/7.0.100 VS 17.7.34031.279 +# maui-windows 7.0.92/7.0.100 VS 17.7.34031.279 +# maui-maccatalyst 7.0.92/7.0.100 VS 17.7.34031.279 +# maccatalyst 16.4.7098/7.0.100 VS 17.7.34031.279 \ No newline at end of file diff --git a/.github/workflows/docker_latest.yml b/.github/workflows/docker_latest.yml deleted file mode 100644 index 4b8330d9e..000000000 --- a/.github/workflows/docker_latest.yml +++ /dev/null @@ -1,73 +0,0 @@ -name: Publish Docker Latest - -on: - workflow_dispatch: - push: - branches: - - master - paths: - - 'src/**' - - 'docker/**' - - 'PelotonToGarmin.sln' - - 'configuration.example.json' - - '.github/workflows/docker_latest.yml' - -jobs: - - create_docker_images: - name: Publish Docker Images - Latest - runs-on: ubuntu-latest - strategy: - matrix: - dockerfile: ['Dockerfile.console', 'Dockerfile.api', 'Dockerfile.webui'] - include: - - dockerfile: 'Dockerfile.console' - tag: 'console-latest' - - dockerfile: 'Dockerfile.api' - tag: 'api-latest' - - dockerfile: 'Dockerfile.webui' - tag: 'webui-latest' - - steps: - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - with: - platforms: linux/amd64,linux/arm64,linux/arm/v7 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - with: - platforms: linux/amd64,linux/arm64,linux/arm/v7 - - - name: Login to Docker Hub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GH_PACKAGE_SECRET }} - - - name: Prepare env - run: | - echo "BUILD_VERSION=${GITHUB_RUN_NUMBER}-${GITHUB_RUN_ID}" >> $GITHUB_ENV - - - name: Build & Push to Package Repositories - id: docker_build - uses: docker/build-push-action@v3 - with: - push: true - file: ./docker/${{ matrix.dockerfile }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - build-args: VERSION=${{ env.BUILD_VERSION }} - tags: | - ${{ secrets.DOCKER_USERNAME }}/peloton-to-garmin:${{ matrix.tag }} - ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ matrix.tag }} - - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml deleted file mode 100644 index 76f9c2a90..000000000 --- a/.github/workflows/jekyll-gh-pages.yml +++ /dev/null @@ -1,52 +0,0 @@ -# Sample workflow for building and deploying a Jekyll site to GitHub Pages -name: Deploy Jekyll with GitHub Pages dependencies preinstalled - -on: - # Runs on pushes targeting the default branch - push: - branches: ["master"] - paths: - - 'docs/**' - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow one concurrent deployment -concurrency: - group: "pages" - cancel-in-progress: true - -jobs: - # Build job - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup Pages - uses: actions/configure-pages@v2 - - name: Build with Jekyll - uses: actions/jekyll-build-pages@v1 - with: - source: ./docs - destination: ./_site - - name: Upload artifact - uses: actions/upload-pages-artifact@v1 - - # Deployment job - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v1 diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 7e5ef30ac..9f744e6d1 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -8,17 +8,17 @@ on: jobs: build-and-test: - - runs-on: ${{ matrix.os }} strategy: matrix: - dotnet: [ '6.0'] - os: [ubuntu-latest, windows-latest, macos-latest] + dotnet: ['7.0'] + os: [windows-latest] + + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - - name: Setup .NET Core SDK ${{ matrix.dotnet }} + - name: Install dotnet uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ matrix.dotnet }} @@ -35,122 +35,49 @@ jobs: - name: Test run: dotnet test - compile-distro-console: - name: Compile Distro + publish-ui-dist: + name: Publish UI Distribution runs-on: 'windows-latest' needs: build-and-test strategy: - max-parallel: 1 matrix: - dotnet: [ '6.0' ] + dotnet: [ '7.0.401' ] + framework: ['net7.0-windows10.0.22621.0'] os: [ 'win10-x64' ] - python-version: [ 3.9.6 ] steps: - - uses: actions/checkout@v3 - - name: Setup .NET Core SDK ${{ matrix.dotnet }} - uses: actions/setup-dotnet@v3 - with: - dotnet-version: ${{ matrix.dotnet }} - - - name: Clean - run: dotnet clean ${{ github.workspace }}/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj --configuration Release && dotnet nuget locals all --clear - - - name: Restore - run: dotnet restore ${{ github.workspace }}/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj - - - name: Prepare env - run: | - echo "BUILD_VERSION=$Env:GITHUB_RUN_NUMBER-$Env:GITHUB_RUN_ID" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - - - name: Publish ${{matrix.os}} - run: dotnet publish ${{ github.workspace }}/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj --no-restore -c Release -r ${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }} --version-suffix ${{ env.BUILD_VERSION }} --self-contained true - - - name: Copy Config to Distro - run: cp ${{ github.workspace }}/configuration.example.json ${{ github.workspace }}/dist/${{ matrix.os }}/configuration.local.json - - # Package all-in-one python and add to distro - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r ${{ github.workspace }}/python/requirements.txt - pip install pyinstaller - - - name: Package Python - Windows - if: ${{ matrix.os == 'win10-x64' }} - working-directory: ${{ github.workspace }}/python - run: | - pyinstaller -n upload --distpath ${{ github.workspace }}/dist/${{ matrix.os }}/python/ --console --clean --onefile --noconfirm --add-data "${{ env.RUNNER_TOOL_CACHE }}/python/3.9.6/x64/lib/site-packages/cloudscraper;./cloudscraper" ${{ github.workspace }}/python/upload.py - - # Create Build Artifact - - name: Upload Artifact ${{ matrix.os }}_${{ env.BUILD_VERSION }} - uses: actions/upload-artifact@v3 - with: - name: ${{ matrix.os }}_${{ env.BUILD_VERSION }} - path: ${{ github.workspace }}/dist/${{ matrix.os }} + - uses: actions/checkout@v3 + - name: Publish UI Distribution + uses: ./.github/actions/publish-ui-dist + with: + dotnet-version: ${{ matrix.dotnet }} + os: ${{ matrix.os }} + framework: ${{ matrix.framework }} - create_docker_images: - name: Publish Docker Images - PR - runs-on: ubuntu-latest - needs: build-and-test - strategy: - matrix: - dockerfile: ['Dockerfile.console', 'Dockerfile.api', 'Dockerfile.webui'] - include: - - dockerfile: 'Dockerfile.console' - tag: 'pr-validator-console-A' - - dockerfile: 'Dockerfile.api' - tag: 'pr-validator-api-A' - - dockerfile: 'Dockerfile.webui' - tag: 'pr-validator-webui-A' - - steps: - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - with: - platforms: linux/amd64,linux/arm64,linux/arm/v7 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - with: - platforms: linux/amd64,linux/arm64,linux/arm/v7 + publish-docker-images: + name: Publish Docker Images + runs-on: ubuntu-latest + needs: build-and-test + strategy: + matrix: + dockerfile: ['Dockerfile.console', 'Dockerfile.api', 'Dockerfile.webui'] + include: + - dockerfile: 'Dockerfile.console' + tag: 'pr-validator-console-A' + - dockerfile: 'Dockerfile.api' + tag: 'pr-validator-api-A' + - dockerfile: 'Dockerfile.webui' + tag: 'pr-validator-webui-A' - - name: Login to Docker Hub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GH_PACKAGE_SECRET }} - - - name: Prepare env - run: | - echo "BUILD_VERSION=${GITHUB_RUN_NUMBER}-${GITHUB_RUN_ID}" >> $GITHUB_ENV + steps: - - name: Build & Push to Package Repositories - id: docker_build - uses: docker/build-push-action@v3 + - uses: actions/checkout@v3 + - name: Publish Docker Images + uses: ./.github/actions/publish-docker-images with: - push: true - file: ./docker/${{ matrix.dockerfile }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - build-args: VERSION=${{ env.BUILD_VERSION }} - tags: | - ${{ secrets.DOCKER_USERNAME }}/peloton-to-garmin:${{ matrix.tag }} - ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ matrix.tag }} - - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} + dockerfile: ${{ matrix.dockerfile }} + tag: ${{ matrix.tag }} + secret_docker_username: ${{ secrets.DOCKER_USERNAME }} + secret_docker_password: ${{ secrets.DOCKER_PASSWORD }} + secret_github_package: ${{ secrets.GH_PACKAGE_SECRET}} \ No newline at end of file diff --git a/.github/workflows/publish-latest.yaml b/.github/workflows/publish-latest.yaml new file mode 100644 index 000000000..94a265c6c --- /dev/null +++ b/.github/workflows/publish-latest.yaml @@ -0,0 +1,78 @@ +name: Publish Latest + +on: + workflow_dispatch: + push: + branches: + - master + paths: + - 'src/**' + - 'docker/**' + - 'mkdocs/**' + - 'PelotonToGarmin.sln' + - 'configuration.example.json' + +jobs: + publish-docker-images: + name: Publish Docker Images + runs-on: ubuntu-latest + strategy: + matrix: + dockerfile: ['Dockerfile.console', 'Dockerfile.api', 'Dockerfile.webui'] + include: + - dockerfile: 'Dockerfile.console' + tag: 'console-latest' + - dockerfile: 'Dockerfile.api' + tag: 'api-latest' + - dockerfile: 'Dockerfile.webui' + tag: 'webui-latest' + + steps: + + - uses: actions/checkout@v3 + - name: Publish Docker Images + uses: ./.github/actions/publish-docker-images + with: + dockerfile: ${{ matrix.dockerfile }} + tag: ${{ matrix.tag }} + secret_docker_username: ${{ secrets.DOCKER_USERNAME }} + secret_docker_password: ${{ secrets.DOCKER_PASSWORD }} + secret_github_package: ${{ secrets.GH_PACKAGE_SECRET}} + + publish-ui-dist: + name: Publish UI Distribution + runs-on: 'windows-latest' + strategy: + matrix: + dotnet: [ '7.0.400' ] + framework: ['net7.0-windows10.0.22621.0'] + os: [ 'win10-x64' ] + + steps: + + - uses: actions/checkout@v3 + - name: Publish UI Distribution + uses: ./.github/actions/publish-ui-dist + with: + dotnet-version: ${{ matrix.dotnet }} + os: ${{ matrix.os }} + framework: ${{ matrix.framework }} + + publish-gh-pages: + name: Publish GH Pages + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Configure Git user + run: | + git config --local user.email "philosowaffle@gmail.com" + git config --local user.name "philosowaffle" + + - uses: actions/setup-python@v4 + with: + python-version: 3.x + + - run: pip install mkdocs-material mike + - run: mike deploy --push master + working-directory: ./mkdocs \ No newline at end of file diff --git a/.github/workflows/publish-release.yaml b/.github/workflows/publish-release.yaml new file mode 100644 index 000000000..421739693 --- /dev/null +++ b/.github/workflows/publish-release.yaml @@ -0,0 +1,110 @@ +name: Publish Release + +on: + workflow_dispatch: + inputs: + version: + description: 'Release Version' + required: true + majorVersion: + description: 'Major Version Tag' + required: true + +jobs: + publish-docker-images: + name: Publish Docker Images + runs-on: ubuntu-latest + strategy: + matrix: + dockerfile: ['Dockerfile.console', 'Dockerfile.api', 'Dockerfile.webui'] + include: + - dockerfile: 'Dockerfile.console' + tag: console-stable + versionTag: console-v${{ github.event.inputs.version }} + majorVersionTag: console-v${{ github.event.inputs.majorVersion }} + - dockerfile: 'Dockerfile.api' + tag: api-stable + versionTag: api-v${{ github.event.inputs.version }} + majorVersionTag: api-v${{ github.event.inputs.majorVersion }} + - dockerfile: 'Dockerfile.webui' + tag: webui-stable + versionTag: webui-v${{ github.event.inputs.version }} + majorVersionTag: webui-v${{ github.event.inputs.majorVersion }} + + steps: + + - uses: actions/checkout@v3 + - name: Publish Docker Images + uses: ./.github/actions/publish-docker-images + with: + dockerfile: ${{ matrix.dockerfile }} + tag: ${{ matrix.tag }} + version_tag: ${{ matrix.versionTag }} + major_version_tag: ${{ matrix.majorVersionTag }} + secret_docker_username: ${{ secrets.DOCKER_USERNAME }} + secret_docker_password: ${{ secrets.DOCKER_PASSWORD }} + secret_github_package: ${{ secrets.GH_PACKAGE_SECRET}} + + publish-ui-dist: + name: Publish UI Distribution + runs-on: 'windows-latest' + outputs: + artifact: ${{ steps.win-ui-create-artifact.outputs.artifact }} + strategy: + matrix: + dotnet: [ '7.0.400' ] + framework: ['net7.0-windows10.0.22621.0'] + os: [ 'win10-x64' ] + + steps: + + - uses: actions/checkout@v3 + - name: Publish UI Distribution + uses: ./.github/actions/publish-ui-dist + id: win-ui-create-artifact + with: + dotnet-version: ${{ matrix.dotnet }} + os: ${{ matrix.os }} + framework: ${{ matrix.framework }} + + create-gh-release: + runs-on: ubuntu-latest + needs: [publish-ui-dist, publish-docker-images] + steps: + - name: Create Zip for Win UI Release Artifact + uses: papeloto/action-zip@v1 + with: + files: ${{ needs.publish-ui-dist.outputs.artifact }} + dest: /dist/ui_win_${{ github.event.inputs.version }}.zip + + - name: Create Release and Upload Artifacts + uses: ncipollo/release-action@v1 + with: + artifacts: "${{ github.workspace }}/dist/console_win_${{ github.event.inputs.version }}.zip,${{ github.workspace }}/dist/ui_win_${{ github.event.inputs.version }}.zip" + token: ${{ secrets.GITHUB_TOKEN }} + tag: v${{ github.event.inputs.version }} + allowUpdates: true + replacesArtifacts: true + bodyFile: ${{ github.workspace }}/vNextReleaseNotes.md + + publish-gh-pages: + name: Publish GH Pages + runs-on: ubuntu-latest + needs: [create-gh-release] + steps: + - uses: actions/checkout@v4 + + - name: Configure Git user + run: | + git config --local user.email "philosowaffle@gmail.com" + git config --local user.name "philosowaffle" + + - uses: actions/setup-python@v4 + with: + python-version: 3.x + + - run: pip install mkdocs-material mike + - run: mike deploy --push --update-aliases v${{ github.event.inputs.version }} latest + working-directory: ./mkdocs + - run: mike set-default --push latest + working-directory: ./mkdocs diff --git a/.github/workflows/publish_distros_latest.yml b/.github/workflows/publish_distros_latest.yml deleted file mode 100644 index 23c7d1ae4..000000000 --- a/.github/workflows/publish_distros_latest.yml +++ /dev/null @@ -1,85 +0,0 @@ -# This workflow will: -# - Build python package for os -# - Publish latest all-in-one windows exe - -name: Publish Distro Latest - -on: - workflow_dispatch: - push: - branches: - - master - paths: - - 'src/**' - - 'python/**' - - 'PelotonToGarmin.sln' - - 'configuration.example.json' - - '.github/workflows/publish_distros_latest.yml' - -jobs: - publish: - - runs-on: 'windows-latest' - strategy: - max-parallel: 1 - matrix: - dotnet: [ '6.0' ] - #os: [ 'win10-x64', 'osx-x64' ] # osx signing issue, mac wont run the executable - os: [ 'win10-x64' ] - python-version: [ 3.9.6 ] - - steps: - - # Publish dotnet core exe - - uses: actions/checkout@v2 - - name: Setup .NET Core SDK ${{ matrix.dotnet }} - uses: actions/setup-dotnet@v3 - with: - dotnet-version: ${{ matrix.dotnet }} - - - name: Clean - run: dotnet clean --configuration Release && dotnet nuget locals all --clear - - - name: Restore - run: dotnet restore - - - name: Prepare env - run: | - echo "BUILD_VERSION=$Env:GITHUB_RUN_NUMBER-$Env:GITHUB_RUN_ID" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - - - name: Publish ${{matrix.os}} - run: dotnet publish ${{ github.workspace }}/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj --no-restore -c Release -r ${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }} --version-suffix ${{ env.BUILD_VERSION }} --self-contained true - - - name: Copy Config to Distro - run: cp ${{ github.workspace }}/configuration.example.json ${{ github.workspace }}/dist/${{ matrix.os }}/configuration.local.json - - # Package all-in-one python and add to distro - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r ${{ github.workspace }}/python/requirements.txt - pip install pyinstaller - - - name: Package Python - Windows - if: ${{ matrix.os == 'win10-x64' }} - working-directory: ${{ github.workspace }}/python - run: | - pyinstaller -n upload --distpath ${{ github.workspace }}/dist/${{ matrix.os }}/python/ --console --clean --onefile --noconfirm --add-data "${{ env.RUNNER_TOOL_CACHE }}/python/3.9.6/x64/lib/site-packages/cloudscraper;./cloudscraper" ${{ github.workspace }}/python/upload.py - - - name: Package Python - MacOS - if: ${{ matrix.os == 'osx-x64' }} - run: | - pyinstaller -n upload --distpath ${{ github.workspace }}/dist/${{ matrix.os }}/python/ --console --clean --onefile --noconfirm --add-data "${{ env.RUNNER_TOOL_CACHE }}/python/3.9.6/x64/lib/site-packages/cloudscraper;./cloudscraper" ${{ github.workspace }}/python/upload.py - - # Create Artifact - - name: Upload Artifact ${{ matrix.os }}_${{ env.BUILD_VERSION }} - uses: actions/upload-artifact@v3 - with: - name: ${{ matrix.os }}_${{ env.BUILD_VERSION }} - path: ${{ github.workspace }}/dist/${{ matrix.os }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 56cb561a7..000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,166 +0,0 @@ -# This workflow will install Python dependencies, run tests and lint with a variety of Python versions -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions - -name: Release - -on: - workflow_dispatch: - inputs: - version: - description: 'Release Version' - required: true - majorVersion: - description: 'Major Version Tag' - required: true - -jobs: - create_docker_images: - name: Publish Docker Images - Release - runs-on: ubuntu-latest - strategy: - matrix: - dockerfile: ['Dockerfile.console', 'Dockerfile.api', 'Dockerfile.webui'] - include: - - dockerfile: 'Dockerfile.console' - tag: stable - versionTag: v${{ github.event.inputs.version }} - majorVersionTag: v${{ github.event.inputs.majorVersion }} - - dockerfile: 'Dockerfile.api' - tag: api-stable - versionTag: api-v${{ github.event.inputs.version }} - majorVersionTag: api-v${{ github.event.inputs.majorVersion }} - - dockerfile: 'Dockerfile.webui' - tag: webui-stable - versionTag: webui-v${{ github.event.inputs.version }} - majorVersionTag: webui-v${{ github.event.inputs.majorVersion }} - - steps: - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - with: - platforms: linux/amd64,linux/arm64,linux/arm/v7 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - with: - platforms: linux/amd64,linux/arm64,linux/arm/v7 - - - name: Login to Docker Hub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GH_PACKAGE_SECRET }} - - - name: Prepare env - run: | - echo "BUILD_VERSION=${GITHUB_RUN_NUMBER}-${GITHUB_RUN_ID}" >> $GITHUB_ENV - - - name: Build & Push to Package Repositories - id: docker_build - uses: docker/build-push-action@v3 - with: - push: true - file: ./docker/${{ matrix.dockerfile }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - build-args: VERSION=${{ env.BUILD_VERSION }} - tags: | - ${{ secrets.DOCKER_USERNAME }}/peloton-to-garmin:${{ matrix.tag }} - ${{ secrets.DOCKER_USERNAME }}/peloton-to-garmin:${{ matrix.versionTag }} - ${{ secrets.DOCKER_USERNAME }}/peloton-to-garmin:${{ matrix.majorVersionTag }} - ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ matrix.tag }} - ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ matrix.versionTag }} - ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ matrix.majorVersionTag }} - - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} - - compile_distro_and_create_gh_release: - name: Compile Distro & Create GH Release - Release - runs-on: 'windows-latest' - strategy: - max-parallel: 1 - matrix: - dotnet: [ '6.0' ] - #os: [ 'win10-x64', 'osx-x64' ] # osx signing issue, mac wont run the executable - os: [ 'win10-x64' ] - python-version: [ 3.9.6 ] - - steps: - - - uses: actions/checkout@v2 - - name: Setup .NET Core SDK ${{ matrix.dotnet }} - uses: actions/setup-dotnet@v3 - with: - dotnet-version: ${{ matrix.dotnet }} - - - name: Clean - run: dotnet clean --configuration Release && dotnet nuget locals all --clear - - - name: Restore - run: dotnet restore - - - name: Prepare env - run: | - echo "BUILD_VERSION=${GITHUB_RUN_NUMBER}-${GITHUB_RUN_ID}" >> $GITHUB_ENV - echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - - - name: Publish ${{matrix.os}} - run: dotnet publish ${{ github.workspace }}/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj --no-restore -c Release -r ${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }} --self-contained true - - - name: Copy Config to Distro - run: cp ${{ github.workspace }}/configuration.example.json ${{ github.workspace }}/dist/${{ matrix.os }}/configuration.local.json - - # Package all-in-one python and add to distro - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r ${{ github.workspace }}/python/requirements.txt - pip install pyinstaller - - - name: Package Python - Windows - if: ${{ matrix.os == 'win10-x64' }} - working-directory: ${{ github.workspace }}/python - run: | - pyinstaller -n upload --distpath ${{ github.workspace }}/dist/${{ matrix.os }}/python/ --console --clean --onefile --noconfirm --add-data "${{ env.RUNNER_TOOL_CACHE }}/python/3.9.6/x64/lib/site-packages/cloudscraper;./cloudscraper" ${{ github.workspace }}/python/upload.py - - - name: Package Python - MacOS - if: ${{ matrix.os == 'osx-x64' }} - working-directory: ${{ github.workspace }}/python - run: | - pyinstaller -n upload --distpath ${{ github.workspace }}/dist/${{ matrix.os }}/python/ --console --clean --onefile --noconfirm --add-data "${{ env.RUNNER_TOOL_CACHE }}/python/3.9.6/x64/lib/site-packages/cloudscraper;./cloudscraper" ${{ github.workspace }}/python/upload.py - - # Create Build Artifact - - name: Upload Artifact ${{ matrix.os }}_${{ github.event.inputs.version }} - uses: actions/upload-artifact@v3 - with: - name: ${{ matrix.os }}_${{ github.event.inputs.version }} - path: ${{ github.workspace }}/dist/${{ matrix.os }} - - - name: Create Zip for Release Artifact - uses: papeloto/action-zip@v1 - with: - files: /dist/${{ matrix.os }} - dest: /dist/${{ matrix.os }}_${{ github.event.inputs.version }}.zip - - - name: Create Release and Upload Artifact - uses: ncipollo/release-action@v1 - with: - artifacts: "${{ github.workspace }}/dist/${{ matrix.os }}_${{ github.event.inputs.version }}.zip" - token: ${{ secrets.GITHUB_TOKEN }} - tag: v${{ github.event.inputs.version }} - allowUpdates: true - replacesArtifacts: true - bodyFile: ${{ github.workspace }}/vNextReleaseNotes.md diff --git a/.github/workflows/sync_peloton_to_garmin.yml b/.github/workflows/sync_peloton_to_garmin.yml index f3ff7c581..6df79c0e3 100644 --- a/.github/workflows/sync_peloton_to_garmin.yml +++ b/.github/workflows/sync_peloton_to_garmin.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest # The type of runner that the job will run on container: - image: philosowaffle/peloton-to-garmin:stable + image: philosowaffle/peloton-to-garmin:console-stable steps: - name: Set env run: echo "OUTPUT_DIR=/app/output" >> $GITHUB_ENV @@ -40,9 +40,7 @@ jobs: cat < /app/configuration.local.json { "App": { - "OutputDirectory": "/app/output", - "EnablePolling": false, - "CloseWindowOnFinish": true + "EnablePolling": false }, "Format": { "Fit": true, @@ -55,12 +53,10 @@ jobs: }, "Peloton": { "NumWorkoutsToDownload": ${{ github.event.inputs.workoutsToDownload || env.DEFAULT_WORKOUT_NUM }}, - "ExcludeWorkoutTypes": [ "meditation" ], }, "Garmin": { "Upload": true, - "FormatToUpload": "fit", - "UploadStrategy": 2 + "FormatToUpload": "fit" }, "Observability": { "Prometheus": { @@ -71,15 +67,12 @@ jobs: }, "Serilog": { "Using": [ "Serilog.Sinks.Console"], - "MinimumLevel": "Information", - "WriteTo": [ - { "Name": "Console" } - ] + "MinimumLevel": "Information" } } } EOT - - run: /app/PelotonToGarminConsole + - run: /app/ConsoleClient if: ${{ env.P2G_PELOTON__EMAIL && env.P2G_PELOTON__PASSWORD && env.P2G_GARMIN__EMAIL && env.P2G_GARMIN__PASSWORD }} working-directory: /app env: diff --git a/.gitignore b/.gitignore index 55be8c3c0..d9836aa41 100644 --- a/.gitignore +++ b/.gitignore @@ -109,17 +109,20 @@ python/build/ */**/bin/* */**/obj/* -# Dev Files -*.log -syncHistory.json -configuration.local.json -/.vs/PelotonToGarmin -/src/Api/data -/src/PelotonToGarminConsole/data -/src/PelotonToGarminConsole/python/** -/src/WebUI/wwwroot/lib -*/**/output/** -/Output -/.vs/ProjectSettings.json -.vs/ -/.vscode/settings.json +# Dev Files +*.log +syncHistory.json +configuration.local.json +/.vs/PelotonToGarmin +/src/Api/data +/src/ConsoleClient/data +/src/ConsoleClient/python/** +*/**/output/** +/Output +/.vs/ProjectSettings.json +.vs/ +/.vscode/settings.json +/src/ClientUI/ClientUI.csproj.user + +# docs +/mkdocs/site \ No newline at end of file diff --git a/PelotonToGarmin.sln b/PelotonToGarmin.sln index d3895186c..65acccb1a 100644 --- a/PelotonToGarmin.sln +++ b/PelotonToGarmin.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.0.31912.275 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PelotonToGarminConsole", "src\PelotonToGarminConsole\PelotonToGarminConsole.csproj", "{808B1164-D94D-456F-B0AF-E5DDE4B82B4A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConsoleClient", "src\ConsoleClient\ConsoleClient.csproj", "{808B1164-D94D-456F-B0AF-E5DDE4B82B4A}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Garmin", "src\Garmin\Garmin.csproj", "{3E0E0007-E67A-44BA-B819-40C6E2C2EC8C}" EndProject @@ -46,6 +46,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebUI", "src\WebUI\WebUI.cs EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Api", "src\Api\Api.csproj", "{63A354CC-C2D3-4860-995E-C3072EC76C46}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SharedUI", "src\SharedUI\SharedUI.csproj", "{5A2D34BF-6301-489C-A53C-46A2105EC923}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientUI", "src\ClientUI\ClientUI.csproj", "{E3C986C7-56B2-409B-A17F-566955804D73}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Api.Service", "src\Api.Service\Api.Service.csproj", "{AE7ED46D-B1F6-402F-AA9F-EE952984B3BA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Api.Contract", "src\Api.Contract\Api.Contract.csproj", "{629769E4-3048-41B6-8818-141DED7AD8D7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -88,6 +96,24 @@ Global {63A354CC-C2D3-4860-995E-C3072EC76C46}.Debug|Any CPU.Build.0 = Debug|Any CPU {63A354CC-C2D3-4860-995E-C3072EC76C46}.Release|Any CPU.ActiveCfg = Release|Any CPU {63A354CC-C2D3-4860-995E-C3072EC76C46}.Release|Any CPU.Build.0 = Release|Any CPU + {5A2D34BF-6301-489C-A53C-46A2105EC923}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5A2D34BF-6301-489C-A53C-46A2105EC923}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5A2D34BF-6301-489C-A53C-46A2105EC923}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5A2D34BF-6301-489C-A53C-46A2105EC923}.Release|Any CPU.Build.0 = Release|Any CPU + {E3C986C7-56B2-409B-A17F-566955804D73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E3C986C7-56B2-409B-A17F-566955804D73}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E3C986C7-56B2-409B-A17F-566955804D73}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {E3C986C7-56B2-409B-A17F-566955804D73}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E3C986C7-56B2-409B-A17F-566955804D73}.Release|Any CPU.Build.0 = Release|Any CPU + {E3C986C7-56B2-409B-A17F-566955804D73}.Release|Any CPU.Deploy.0 = Release|Any CPU + {AE7ED46D-B1F6-402F-AA9F-EE952984B3BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AE7ED46D-B1F6-402F-AA9F-EE952984B3BA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AE7ED46D-B1F6-402F-AA9F-EE952984B3BA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AE7ED46D-B1F6-402F-AA9F-EE952984B3BA}.Release|Any CPU.Build.0 = Release|Any CPU + {629769E4-3048-41B6-8818-141DED7AD8D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {629769E4-3048-41B6-8818-141DED7AD8D7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {629769E4-3048-41B6-8818-141DED7AD8D7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {629769E4-3048-41B6-8818-141DED7AD8D7}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/README.md b/README.md index 934009096..17427bc3d 100644 --- a/README.md +++ b/README.md @@ -8,14 +8,14 @@ **Peloton Tag:** _#PelotonToGarmin_ -Sync workouts from Peloton to Garmin. +Sync your Pelooton workouts to Garmin. * Fetch latest workouts from Peloton * Bike, Tread, Rower, Meditation, Strength, Outdoor, and more -* Automatically upload TCX or FIT workout to Garmin +* Automatically upload your workout to Garmin * Convert Peloton workouts to a variety of formats for offline backup * Earn Badges and credit for Garmin Challenges -* Counts towards VO2 Max [1]({{ site.baseurl }}{% link faq.md %}) and Training Stress Scores +* Counts towards VO2 Max and Training Stress Scores * Supports Garmin accounts protected by Two Step Verification * Supports mapping Exercises from Strength workouts @@ -23,13 +23,6 @@ Head on over to the [Wiki](https://philosowaffle.github.io/peloton-to-garmin) to ![Example Cycling Workout](/images/example_cycle.png?raw=true "Example Cycling Workout") -## Supported Platforms - -* Windows -* Mac -* Linux -* Docker - ## Contributors Special thanks to all the [contributors](https://github.com/philosowaffle/peloton-to-garmin/graphs/contributors) who have helped improve this project! diff --git a/configuration.example.json b/configuration.example.json index c39a75669..995bd5566 100644 --- a/configuration.example.json +++ b/configuration.example.json @@ -1,9 +1,7 @@ { "App": { - "OutputDirectory": "./output", "EnablePolling": true, "PollingIntervalSeconds": 86400, - "CloseWindowOnFinish": false, "CheckForUpdates": true }, @@ -29,8 +27,7 @@ "Password": "", "TwoStepVerificationEnabled": false, "Upload": false, - "FormatToUpload": "fit", - "UploadStrategy": 2 + "FormatToUpload": "fit" }, "Observability": { @@ -54,18 +51,7 @@ "Microsoft": "Error", "System": "Error" } - }, - "WriteTo": [ - { "Name": "Console" }, - { - "Name": "File", - "Args": { - "path": "./output/log.txt", - "rollingInterval": "Day", - "retainedFileCountLimit": 7 - } - } - ] + } } } } \ No newline at end of file diff --git a/docker/Dockerfile.api b/docker/Dockerfile.api index 9e6e6314d..304e92b60 100644 --- a/docker/Dockerfile.api +++ b/docker/Dockerfile.api @@ -1,22 +1,14 @@ ################### # CREATE FINAL LAYER ################### -FROM mcr.microsoft.com/dotnet/aspnet:6.0 as final +FROM mcr.microsoft.com/dotnet/aspnet:7.0 as final -ENV PYTHONUNBUFFERED=1 RUN apt-get update \ - && apt-get -y install bash python3 python3-pip tzdata \ + && apt-get -y install bash tzdata \ && apt-get purge -y -f --force-yes $EXT_BUILD_DEPS \ && apt-get autoremove -y \ && apt-get clean \ - && rm -rf /var/lib/apt/lists/* \ - && ln -sf python3 /usr/bin/python \ - && pip3 install --no-cache --upgrade pip setuptools \ - && python --version \ - && pip3 --version - -COPY ./python/requirements.txt ./requirements.txt -RUN pip3 install -r requirements.txt + && rm -rf /var/lib/apt/lists/* RUN groupadd -g 1015 p2g && useradd -g p2g -u 1015 p2g @@ -27,7 +19,7 @@ RUN mkdir -m770 {output,data,working} ################### # BUILD LAYER ################### -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:6.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build COPY . /build WORKDIR /build diff --git a/docker/Dockerfile.console b/docker/Dockerfile.console index efbe16fbd..4b3f6f22f 100644 --- a/docker/Dockerfile.console +++ b/docker/Dockerfile.console @@ -1,22 +1,14 @@ ################### # CREATE FINAL LAYER ################### -FROM mcr.microsoft.com/dotnet/aspnet:6.0 as final +FROM mcr.microsoft.com/dotnet/aspnet:7.0 as final -ENV PYTHONUNBUFFERED=1 RUN apt-get update \ - && apt-get -y install bash python3 python3-pip tzdata \ + && apt-get -y install bash tzdata \ && apt-get purge -y -f --force-yes $EXT_BUILD_DEPS \ && apt-get autoremove -y \ && apt-get clean \ - && rm -rf /var/lib/apt/lists/* \ - && ln -sf python3 /usr/bin/python \ - && pip3 install --no-cache --upgrade pip setuptools \ - && python --version \ - && pip3 --version - -COPY ./python/requirements.txt ./requirements.txt -RUN pip3 install -r requirements.txt + && rm -rf /var/lib/apt/lists/* RUN groupadd -g 1015 p2g && useradd -g p2g -u 1015 p2g @@ -27,7 +19,7 @@ RUN mkdir -m770 {output,data,working} ################### # BUILD LAYER ################### -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:6.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build COPY . /build WORKDIR /build @@ -46,7 +38,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ elif [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then \ RID=linux-arm ; \ fi \ - && dotnet publish /build/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj -c Release -r $RID -o /build/published --version-suffix $VERSION --self-contained ; + && dotnet publish /build/src/ConsoleClient/ConsoleClient.csproj -c Release -r $RID -o /build/published --version-suffix $VERSION --self-contained ; ################### # FINAL diff --git a/docker/Dockerfile.webui b/docker/Dockerfile.webui index 4f7ecd21c..49b14474e 100644 --- a/docker/Dockerfile.webui +++ b/docker/Dockerfile.webui @@ -1,7 +1,7 @@ ################### # CREATE FINAL LAYER ################### -FROM mcr.microsoft.com/dotnet/aspnet:6.0 as final +FROM mcr.microsoft.com/dotnet/aspnet:7.0 as final RUN apt-get update \ && apt-get -y install bash tzdata \ @@ -17,7 +17,7 @@ WORKDIR /app ################### # BUILD LAYER ################### -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:6.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build COPY . /build WORKDIR /build diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 52fd8fd91..32dcb75a7 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -9,5 +9,5 @@ if [[ "$1" == "api" ]]; then elif [[ "$1" == "webui" ]]; then exec runuser -u p2g ./WebUI else - exec runuser -u p2g ./PelotonToGarminConsole + exec runuser -u p2g ./ConsoleClient fi \ No newline at end of file diff --git a/docker/docker-compose.yaml b/docker/headless/docker-compose.yaml similarity index 78% rename from docker/docker-compose.yaml rename to docker/headless/docker-compose.yaml index dccbe8c2f..3b00ee9fe 100644 --- a/docker/docker-compose.yaml +++ b/docker/headless/docker-compose.yaml @@ -3,7 +3,7 @@ version: "3.9" services: p2g: container_name: p2g - image: philosowaffle/peloton-to-garmin:stable + image: philosowaffle/peloton-to-garmin:console-stable environment: - TZ=America/Chicago volumes: diff --git a/docker/webui/api.local.json b/docker/webui/api.local.json index 84754a4fd..27a18c8f9 100644 --- a/docker/webui/api.local.json +++ b/docker/webui/api.local.json @@ -1,8 +1,4 @@ { - "Api": { - "HostUrl": "http://*:8080" - }, - "Observability": { "Prometheus": { @@ -25,15 +21,7 @@ } }, "WriteTo": [ - { "Name": "Console" }, - { - "Name": "File", - "Args": { - "path": "./output/log.txt", - "rollingInterval": "Day", - "retainedFileCountLimit": 7 - } - } + { "Name": "Console" } ] } } diff --git a/docker/webui/webui.local.json b/docker/webui/webui.local.json index 9da35a011..6f0b79eef 100644 --- a/docker/webui/webui.local.json +++ b/docker/webui/webui.local.json @@ -3,10 +3,6 @@ "HostUrl": "http://p2g-api:8080" }, - "WebUI": { - "HostUrl": "http://*:8080" - }, - "Observability": { "Prometheus": { @@ -29,15 +25,7 @@ } }, "WriteTo": [ - { "Name": "Console" }, - { - "Name": "File", - "Args": { - "path": "./output/log.txt", - "rollingInterval": "Day", - "retainedFileCountLimit": 7 - } - } + { "Name": "Console" } ] } } diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index cbe74dd2a..000000000 --- a/docs/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -_site/ -.sass-cache -.jekyll-metadata -.jekyll-cache \ No newline at end of file diff --git a/docs/Gemfile b/docs/Gemfile deleted file mode 100644 index fa4476d60..000000000 --- a/docs/Gemfile +++ /dev/null @@ -1,30 +0,0 @@ -source "https://rubygems.org" - -# Hello! This is where you manage which Jekyll version is used to run. -# When you want to use a different version, change it below, save the -# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: -# -# bundle exec jekyll serve -# -# This will help ensure the proper Jekyll version is running. -# Happy Jekylling! -gem "jekyll", "~> 3.9.2" - -# This is the default theme for new Jekyll sites. You may change this to anything you like. -#gem "minima", "~> 2.0" -gem "just-the-docs" - -# If you want to use GitHub Pages, remove the "gem "jekyll"" above and -# uncomment the line below. To upgrade, run `bundle update github-pages`. -gem "github-pages", group: :jekyll_plugins - -# If you have any plugins, put them here! -group :jekyll_plugins do - gem "jekyll-feed", "~> 0.15" -end - -# Windows does not include zoneinfo files, so bundle the tzinfo-data gem -gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] - -# Performance-booster for watching directories on Windows -gem "wdm", "~> 0.1.0" if Gem.win_platform? diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock deleted file mode 100644 index 0ced70374..000000000 --- a/docs/Gemfile.lock +++ /dev/null @@ -1,287 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - activesupport (6.0.6.1) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2, >= 2.2.2) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.11.1) - colorator (1.1.0) - commonmarker (0.23.9) - concurrent-ruby (1.2.0) - dnsruby (1.61.7) - simpleidn (~> 0.1) - em-websocket (0.5.3) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0) - ethon (0.15.0) - ffi (>= 1.15.0) - eventmachine (1.2.7) - execjs (2.8.1) - faraday (1.8.0) - faraday-em_http (~> 1.0) - faraday-em_synchrony (~> 1.0) - faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0.1) - faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.1) - faraday-patron (~> 1.0) - faraday-rack (~> 1.0) - multipart-post (>= 1.2, < 3) - ruby2_keywords (>= 0.0.4) - faraday-em_http (1.0.0) - faraday-em_synchrony (1.0.0) - faraday-excon (1.1.0) - faraday-httpclient (1.0.1) - faraday-net_http (1.0.1) - faraday-net_http_persistent (1.2.0) - faraday-patron (1.0.0) - faraday-rack (1.0.0) - ffi (1.15.4) - forwardable-extended (2.6.0) - gemoji (3.0.1) - github-pages (227) - github-pages-health-check (= 1.17.9) - jekyll (= 3.9.2) - jekyll-avatar (= 0.7.0) - jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.2.0) - jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.15.1) - jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.13.0) - jekyll-include-cache (= 0.2.1) - jekyll-mentions (= 1.6.0) - jekyll-optional-front-matter (= 0.3.2) - jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.3.0) - jekyll-redirect-from (= 0.16.0) - jekyll-relative-links (= 0.6.1) - jekyll-remote-theme (= 0.4.3) - jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.8.0) - jekyll-sitemap (= 1.4.0) - jekyll-swiss (= 1.0.0) - jekyll-theme-architect (= 0.2.0) - jekyll-theme-cayman (= 0.2.0) - jekyll-theme-dinky (= 0.2.0) - jekyll-theme-hacker (= 0.2.0) - jekyll-theme-leap-day (= 0.2.0) - jekyll-theme-merlot (= 0.2.0) - jekyll-theme-midnight (= 0.2.0) - jekyll-theme-minimal (= 0.2.0) - jekyll-theme-modernist (= 0.2.0) - jekyll-theme-primer (= 0.6.0) - jekyll-theme-slate (= 0.2.0) - jekyll-theme-tactile (= 0.2.0) - jekyll-theme-time-machine (= 0.2.0) - jekyll-titles-from-headings (= 0.5.3) - jemoji (= 0.12.0) - kramdown (= 2.3.2) - kramdown-parser-gfm (= 1.1.0) - liquid (= 4.0.3) - mercenary (~> 0.3) - minima (= 2.5.1) - nokogiri (>= 1.13.6, < 2.0) - rouge (= 3.26.0) - terminal-table (~> 1.4) - github-pages-health-check (1.17.9) - addressable (~> 2.3) - dnsruby (~> 1.60) - octokit (~> 4.0) - public_suffix (>= 3.0, < 5.0) - typhoeus (~> 1.3) - html-pipeline (2.14.0) - activesupport (>= 2) - nokogiri (>= 1.4) - http_parser.rb (0.8.0) - i18n (0.9.5) - concurrent-ruby (~> 1.0) - jekyll (3.9.2) - addressable (~> 2.4) - colorator (~> 1.0) - em-websocket (~> 0.5) - i18n (~> 0.7) - jekyll-sass-converter (~> 1.0) - jekyll-watch (~> 2.0) - kramdown (>= 1.17, < 3) - liquid (~> 4.0) - mercenary (~> 0.3.3) - pathutil (~> 0.9) - rouge (>= 1.7, < 4) - safe_yaml (~> 1.0) - jekyll-avatar (0.7.0) - jekyll (>= 3.0, < 5.0) - jekyll-coffeescript (1.1.1) - coffee-script (~> 2.2) - coffee-script-source (~> 1.11.1) - jekyll-commonmark (1.4.0) - commonmarker (~> 0.22) - jekyll-commonmark-ghpages (0.2.0) - commonmarker (~> 0.23.4) - jekyll (~> 3.9.0) - jekyll-commonmark (~> 1.4.0) - rouge (>= 2.0, < 4.0) - jekyll-default-layout (0.1.4) - jekyll (~> 3.0) - jekyll-feed (0.15.1) - jekyll (>= 3.7, < 5.0) - jekyll-gist (1.5.0) - octokit (~> 4.2) - jekyll-github-metadata (2.13.0) - jekyll (>= 3.4, < 5.0) - octokit (~> 4.0, != 4.4.0) - jekyll-include-cache (0.2.1) - jekyll (>= 3.7, < 5.0) - jekyll-mentions (1.6.0) - html-pipeline (~> 2.3) - jekyll (>= 3.7, < 5.0) - jekyll-optional-front-matter (0.3.2) - jekyll (>= 3.0, < 5.0) - jekyll-paginate (1.1.0) - jekyll-readme-index (0.3.0) - jekyll (>= 3.0, < 5.0) - jekyll-redirect-from (0.16.0) - jekyll (>= 3.3, < 5.0) - jekyll-relative-links (0.6.1) - jekyll (>= 3.3, < 5.0) - jekyll-remote-theme (0.4.3) - addressable (~> 2.0) - jekyll (>= 3.5, < 5.0) - jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) - rubyzip (>= 1.3.0, < 3.0) - jekyll-sass-converter (1.5.2) - sass (~> 3.4) - jekyll-seo-tag (2.8.0) - jekyll (>= 3.8, < 5.0) - jekyll-sitemap (1.4.0) - jekyll (>= 3.7, < 5.0) - jekyll-swiss (1.0.0) - jekyll-theme-architect (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-cayman (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-dinky (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-hacker (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-leap-day (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-merlot (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-midnight (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-minimal (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-modernist (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.6.0) - jekyll (> 3.5, < 5.0) - jekyll-github-metadata (~> 2.9) - jekyll-seo-tag (~> 2.0) - jekyll-theme-slate (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-tactile (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-time-machine (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-titles-from-headings (0.5.3) - jekyll (>= 3.3, < 5.0) - jekyll-watch (2.2.1) - listen (~> 3.0) - jemoji (0.12.0) - gemoji (~> 3.0) - html-pipeline (~> 2.2) - jekyll (>= 3.0, < 5.0) - just-the-docs (0.3.3) - jekyll (>= 3.8.5) - jekyll-seo-tag (~> 2.0) - rake (>= 12.3.1, < 13.1.0) - kramdown (2.3.2) - rexml - kramdown-parser-gfm (1.1.0) - kramdown (~> 2.0) - liquid (4.0.3) - listen (3.7.1) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - mercenary (0.3.6) - minima (2.5.1) - jekyll (>= 3.5, < 5.0) - jekyll-feed (~> 0.9) - jekyll-seo-tag (~> 2.1) - minitest (5.17.0) - multipart-post (2.1.1) - nokogiri (1.14.3-x86_64-linux) - racc (~> 1.4) - octokit (4.21.0) - faraday (>= 0.9) - sawyer (~> 0.8.0, >= 0.5.3) - pathutil (0.16.2) - forwardable-extended (~> 2.6) - public_suffix (4.0.6) - racc (1.6.2) - rake (13.0.6) - rb-fsevent (0.11.0) - rb-inotify (0.10.1) - ffi (~> 1.0) - rexml (3.2.5) - rouge (3.26.0) - ruby2_keywords (0.0.5) - rubyzip (2.3.2) - safe_yaml (1.0.5) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.8.2) - addressable (>= 2.3.5) - faraday (> 0.8, < 2.0) - simpleidn (0.2.1) - unf (~> 0.1.4) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - thread_safe (0.3.6) - typhoeus (1.4.0) - ethon (>= 0.9.0) - tzinfo (1.2.11) - thread_safe (~> 0.1) - unf (0.1.4) - unf_ext - unf_ext (0.0.8) - unicode-display_width (1.8.0) - zeitwerk (2.6.6) - -PLATFORMS - x86_64-linux - x86_64-linux-musl - -DEPENDENCIES - github-pages - jekyll (~> 3.9.2) - jekyll-feed (~> 0.15) - just-the-docs - tzinfo-data - -BUNDLED WITH - 2.3.22 diff --git a/docs/_config.yml b/docs/_config.yml deleted file mode 100644 index a7529f517..000000000 --- a/docs/_config.yml +++ /dev/null @@ -1,63 +0,0 @@ -title: Peloton to Garmin -description: Convert workout data from Peloton into JSON/TCX/FIT files that can be uploaded to Garmin Connect -repository: philosowaffle/peloton-to-garmin -locale: en_US - -remote_theme: pmarsceill/just-the-docs - -exclude: ["node_modules/", "*.gemspec", "*.gem", "Gemfile", "Gemfile.lock", "package.json", "package-lock.json", "script/", "LICENSE.txt", "lib/", "bin/", "README.md", "Rakefile" -, "docs/tests/" -] - -search_enabled: true -search: - # Split pages into sections that can be searched individually - # Supports 1 - 6, default: 2 - heading_level: 2 - # Maximum amount of previews per search result - # Default: 3 - previews: 2 - # Maximum amount of words to display before a matched word in the preview - # Default: 5 - preview_words_before: 3 - # Maximum amount of words to display after a matched word in the preview - # Default: 10 - preview_words_after: 3 - # Set the search token separator - # Default: /[\s\-/]+/ - # Example: enable support for hyphenated search words - tokenizer_separator: /[\s/]+/ - # Display the relative url in search results - # Supports true (default) or false - rel_url: true - # Enable or disable the search button that appears in the bottom right corner of every page - # Supports true or false (default) - button: false - -heading_anchors: true - -aux_links: - "GitHub": - - "//github.com/philosowaffle/peloton-to-garmin" - "Join the discussion": - - "//github.com/philosowaffle/peloton-to-garmin/discussions" - "Donate": - - "https://www.buymeacoffee.com/philosowaffle" - -back_to_top: true -back_to_top_text: "Back to top" - -gh_edit_link: true # show or hide edit this page link -gh_edit_link_text: "Edit this page on GitHub" -gh_edit_repository: "https://github.com/philosowaffle/peloton-to-garmin" # the github URL for your repo -gh_edit_branch: "master" # the branch that your docs is served from -gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately -gh_edit_source: docs # the source that your files originate from - -compress_html: - clippings: all - comments: all - endings: all - startings: [] - blanklines: false - profile: false diff --git a/docs/_includes/footer_custom.html b/docs/_includes/footer_custom.html deleted file mode 100644 index 44e6c066a..000000000 --- a/docs/_includes/footer_custom.html +++ /dev/null @@ -1 +0,0 @@ -Buy Me A Coffee donate button \ No newline at end of file diff --git a/docs/configuration/command-line.md b/docs/configuration/command-line.md deleted file mode 100644 index 158ce5cbe..000000000 --- a/docs/configuration/command-line.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: default -title: Command Line -parent: Configuration -nav_order: 1 ---- - -# Command Line Configuration - -All of the values defined in the [Json config file]({{ site.baseurl }}{% link configuration/json.md %}) can also be defined as command line arguments. This functionality is provided by the default dotnet [IConfiguration interface](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-5.0#command-line-1). diff --git a/docs/docker-compose.yaml b/docs/docker-compose.yaml deleted file mode 100644 index 23edc41f4..000000000 --- a/docs/docker-compose.yaml +++ /dev/null @@ -1,9 +0,0 @@ -version: '2.4' - -services: - jekyll: - image: bretfisher/jekyll-serve - volumes: - - .:/site - ports: - - '4000:4000' \ No newline at end of file diff --git a/docs/experimental.md b/docs/experimental.md deleted file mode 100644 index f4723fb27..000000000 --- a/docs/experimental.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: default -title: Experimental -nav_order: 7 ---- - -# Experimental - -New enhancements not quite ready for the prime time can be found here. Use at own risk. - -Nothing in the works right now. Check back later :) \ No newline at end of file diff --git a/docs/install/docker-headless.md b/docs/install/docker-headless.md deleted file mode 100644 index 0146bffdc..000000000 --- a/docs/install/docker-headless.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -layout: default -title: Docker - Headless -parent: Install -nav_order: 2 ---- - -# Docker Headless - -This the original flavor of P2G. It runs without any user interface and relies on configuration from `configuration.local.json` file. - -### [DockerHub](https://hub.docker.com/r/philosowaffle/peloton-to-garmin) - -```bash -docker run -i -v /full/path/to/configuration.local.json:/app/configuration.local.json -v /full/path/to/output:/app/output philosowaffle/peloton-to-garmin:stable -``` - -### [GitHub Package](https://github.com/philosowaffle/peloton-to-garmin/pkgs/container/peloton-to-garmin) - -```bash -docker run -i -v /full/path/to/configuration.local.json:/app/configuration.local.json -v /full/path/to/output:/app/output ghcr.io/philosowaffle/peloton-to-garmin:stable -``` - -## docker-compose - -*Pre-requisite:* You have either `docker-compose` or `Docker Desktop` installed -*This method does not work with Garmin accounts protected by Two Step Verification* - -1. Create a directory `p2g-headless` - 1. Inside this folder create a [docker-compose.yaml](https://github.com/philosowaffle/peloton-to-garmin/blob/master/docker/docker-compose.yaml) file in the directory - 1. Also create a [configuration.local.json](https://github.com/philosowaffle/peloton-to-garmin/blob/master/configuration.example.json) file in the directory. - 1. Edit the configuration file to use your Peloton and Garmin credentials -1. Open a terminal in this folder -1. Run: `docker-compose pull && docker-compose up -d` - -Any logs or generated files will be available in the `output` directory. Additionally, you can learn more about customizing your configuration over in the [Configuration Section]({{ site.baseurl }}{% link configuration/index.md %}) - -### To stop P2G - -1. You can use Docker Desktop application to kill the containers -1. Or, you can open a terminal in the `p2g-headless` folder - 1. Run: `docker-compose down` - -### To update P2G - -1. Open a terminal in the `p2g-headless` folder - 1. Run: `docker-compose pull && docker-compose up -d` - -## Prometheus - -If you configure P2G to serve Prometheus metrics then you will also need to map the corresponding port for your docker container. By default, Prometheus metrics will be served on port `4000`. You can learn more about P2G and Prometheus in the [Observability Configuration]({{ site.baseurl }}{% link configuration/index.md %}) section. - -```yaml -version: "3.9" -services: - p2g: - container_name: p2g - image: philosowaffle/peloton-to-garmin:stable - environment: - - TZ=America/Chicago - ports: - - 4000:4000 - volumes: - - ./configuration.local.json:/app/configuration.local.json - - ./output:/app/output -``` diff --git a/docs/install/index.md b/docs/install/index.md deleted file mode 100644 index 22c48d9f9..000000000 --- a/docs/install/index.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: default -title: Install -nav_order: 3 -has_children: true ---- - -# Install - -P2G can be run on all major operating systems. - -| Choose your system | Support Garmin 2-Step Verification | -|:-------------------|:-----------------------------------| -| [Windows](#windows-quick-start) | yes | -| [Mac](#mac-quick-start) | yes | -| [Linux](#linux-quick-start) | yes | -| [I don't want to install anything](#github-actions)| no | - -## Windows Quick Start - -1. [Windows Executable]({{ site.baseurl }}{% link install/windows.md %}) - recommended unless you are comfortable with Docker on Windows -1. [Docker]({{ site.baseurl }}{% link install/docker.md %}) -1. [Build from Source]({{ site.baseurl }}{% link install/source.md %}) - -## Mac Quick Start - -1. [Docker]({{ site.baseurl }}{% link install/docker.md %}) -1. [Build from Source]({{ site.baseurl }}{% link install/source.md %}) - -## Linux Quick Start - -1. [Docker]({{ site.baseurl }}{% link install/docker.md %}) - recommended -1. [Build from Source]({{ site.baseurl }}{% link install/source.md %}) - -## GitHub Actions - -If you would rather not install anything on your computer, you can run P2G using a feature called `GitHub Actions`, this will require you to create an account on `GitHub`. Additionally, your Garmin account must *not* have Two Step Verification enabled. - -1. [GitHub Actions]({{ site.baseurl }}{% link install/github-action.md %}) diff --git a/docs/install/source.md b/docs/install/source.md deleted file mode 100644 index 2095666cd..000000000 --- a/docs/install/source.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: default -title: Build from Source -parent: Install -nav_order: 5 ---- - -# Build from Source - -To compile and run P2G on your machine, follow the below steps. - -## dotnet 6.0 - -1. Install the latest [dotnet 6.0 SDK](https://dotnet.microsoft.com/download/dotnet/6.0) -1. Clone the GitHub repository locally -1. In the local repo, find the file named `configuration.example.json`. Make a copy of it and name it `configuration.local.json`. -1. Move `configuration.local.json` into the `src/PelotongToGarminConsole` directory -1. Open `configuration.local.json` in a text editor of your choice and edit it to use your Peloton and Garmin credentials -1. Open a terminal and run the below one-time setup steps: - -```bash -> cd peloton-to-garmin -> dotnet restore -> dotnet build -``` - -## To run P2G - -```bash -> dotnet run --project ./src/PelotonToGarminConsole/PelotonToGarminConsole.csproj -``` - -## Updating - -```bash -> git fetch -> git pull -> cd peloton-to-garmin -> dotnet restore ./src/PelotonToGarminConsole/PelotonToGarminConsole.csproj -> dotnet build ./src/PelotonToGarminConsole/PelotonToGarminConsole.csproj -> dotnet run --project ./src/PelotonToGarminConsole/PelotonToGarminConsole.csproj -``` diff --git a/mkdocs/docs/configuration/command-line.md b/mkdocs/docs/configuration/command-line.md new file mode 100644 index 000000000..8fa97bc0a --- /dev/null +++ b/mkdocs/docs/configuration/command-line.md @@ -0,0 +1,4 @@ + +# Command Line Configuration + +All of the values defined in the [Json config file](json.md) can also be defined as command line arguments. This functionality is provided by the default dotnet [IConfiguration interface](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-5.0#command-line-1). diff --git a/docs/configuration/environment-variables.md b/mkdocs/docs/configuration/environment-variables.md similarity index 63% rename from docs/configuration/environment-variables.md rename to mkdocs/docs/configuration/environment-variables.md index f639803ac..ac9c657e0 100644 --- a/docs/configuration/environment-variables.md +++ b/mkdocs/docs/configuration/environment-variables.md @@ -1,13 +1,7 @@ ---- -layout: default -title: Environment Variables -parent: Configuration -nav_order: 2 ---- # Environment Variable Configuration -All of the values defined in the [Json config file]({{ site.baseurl }}{% link configuration/json.md %}) can also be defined as environment variables. This functionality is provided by the default dotnet [IConfiguration interface](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-5.0#environment-variables-1). +All of the values defined in the [Json config file](json.md) can also be defined as environment variables. This functionality is provided by the default dotnet [IConfiguration interface](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-5.0#environment-variables-1). The variables use the following convention, note the use of both single and double underscores: @@ -18,7 +12,6 @@ P2G_CONFIGSECTION__CONFIGPROPERTY=value #### Example App Config ```bash -P2G_APP__OUTPUTDIRECTORY P2G_APP__WORKINGDIRECTORY P2G_APP__ENABLEPOLLING P2G_APP__POLLINGINTERVALSECONDS diff --git a/docs/configuration/index.md b/mkdocs/docs/configuration/index.md similarity index 62% rename from docs/configuration/index.md rename to mkdocs/docs/configuration/index.md index be3b162de..34068afab 100644 --- a/docs/configuration/index.md +++ b/mkdocs/docs/configuration/index.md @@ -1,29 +1,22 @@ ---- -layout: default -title: Configuration -nav_order: 3 -has_children: true ---- - -# Configuration - -P2G supports configuration via [command line arguments]({{ site.baseurl }}{% link configuration/command-line.md %}), [environment variables]({{ site.baseurl }}{% link configuration/environment-variables.md %}), [json config file]({{ site.baseurl }}{% link configuration/json.md %}), and via the user interface. By default, P2G looks for a file named `configuration.local.json` in the same directory where it is run. - -## Example working configs - -1. [Headless config](https://github.com/philosowaffle/peloton-to-garmin/blob/master/configuration.example.json) -1. [WebUI configs](https://github.com/philosowaffle/peloton-to-garmin/tree/master/docker/webui) - -## Config Precedence - -The following defines the precedence in which config definitions are honored. With the first item overriding any below it. - -1. Command Line -1. Environment Variables -1. Config File - -For example, if you defined your Peloton credentials ONLY in the Config file, then the Config file credentials will be used. - -If you defined your credentials in both the Config file AND the Environment variables, then the Environment variable credentials will be used. - -If you defined credentials using all 3 methods (config file, env, and command line), then the credentials provided via the command line will be used. +# Configuration + +P2G supports configuration via [command line arguments](command-line.md), [environment variables](environment-variables.md), [json config file](json.md), and via the user interface. By default, P2G looks for a file named `configuration.local.json` in the same directory where it is run. + +## Example working configs + +1. [Headless config](https://github.com/philosowaffle/peloton-to-garmin/blob/master/configuration.example.json) +1. [WebUI configs](https://github.com/philosowaffle/peloton-to-garmin/tree/master/docker/webui) + +## Config Precedence + +The following defines the precedence in which config definitions are honored. With the first item overriding any below it. + +1. Command Line +1. Environment Variables +1. Config File + +For example, if you defined your Peloton credentials ONLY in the Config file, then the Config file credentials will be used. + +If you defined your credentials in both the Config file AND the Environment variables, then the Environment variable credentials will be used. + +If you defined credentials using all 3 methods (config file, env, and command line), then the credentials provided via the command line will be used. diff --git a/docs/configuration/json.md b/mkdocs/docs/configuration/json.md similarity index 81% rename from docs/configuration/json.md rename to mkdocs/docs/configuration/json.md index 92b69b609..0eeb6b1b9 100644 --- a/docs/configuration/json.md +++ b/mkdocs/docs/configuration/json.md @@ -1,405 +1,385 @@ ---- -layout: default -title: JSON Config File -parent: Configuration -nav_order: 0 ---- - -# Json Config File - -Based on your installation method, configuration may be provided via a `configuration.local.json` or it may be done via the user interface. In the below documentation you will see the information for both the JSON config file, and the Web UI. - -By default, P2G looks for a file named `configuration.local.json` in the same directory where the program is run. - -The config file is written in JSON and supports hot-reload for all fields except the following: - -1. `App.PollingintervalSeconds` -1. `Observability` Section - -The config file is organized into the below sections. - -| Section | Platforms | Description | -|:-------------|:----------|:------------------| -| [Api Config](#api-config) | Web UI | This section provides global settings for the P2G Api. | -| [WebUI Config](#webui-config) | Web UI | This section provides global settings for the P2G Web UI. | -| [App Config](#app-config) | Headless | This section provides global settings for the P2G application. | -| [Format Config](#format-config) | Headless | This section provides settings related to conversions and what formats should be created/saved. | -| [Peloton Config](#peloton-config) | Headless | This section provides settings related to fetching workouts from Peloton. | -| [Garmin Config](#garmin-config) | Headless | This section provides settings related to uploading workouts to Garmin. | -| [Observability Config](#observability-config) | All | This section provides settings related to Metrics, Logs, and Traces for monitoring purposes. | - -## Api Config - -If you aren't running the Web UI version of P2G you can ignore this section. - -This section lives in `webui.local.json`. - -```json - "Api": { - "HostUrl": "http://p2g-api:8080" - } -``` - -| Field | Required | Default | UI Setting Location | Description | -|:-----------|:---------|:--------|:--------------------|:------------| -| HostUrl | yes | `null` | none | The host and port for the Web UI to communicate with the Api. | - -### Advanced usage - -Typically this section is only needed in the `webui.local.json` so that the Web UI knows where to find the running Api. However, if you have a unique setup and need to modify the Host and Port the Api binds to, then you can also provide this config section in the `api.local.json`. - -```json - "Api": { - "HostUrl": "http://*:8080" - } -``` - -| Field | Required | Default | UI Setting Location | Description | -|:-----------|:---------|:--------|:--------------------|:------------| -| HostUrl | no | `http://localhost:80` | none | The host and port the Api should bind to and listen on. | - -## WebUI Config - -If you aren't running the Web UI version of P2G you can ignore this section. - -You can provide this config section in the `webui.local.json`. - -```json - "WebUI": { - "HostUrl": "http://*:8080" - } -``` - -| Field | Required | Default | UI Setting Location | Description | -|:-----------|:---------|:--------|:--------------------|:------------| -| HostUrl | no | `http://localhost:80` | none | The host and port the WebUI should bind to and listen on. | - -## App Config - -This section provides global settings for the P2G application. - -```json - "App": { - "OutputDirectory": "./output", - "EnablePolling": true, - "PollingIntervalSeconds": 86400, - "PythonAndGUploadInstalled": true, - "CloseWindowOnFinish": false, - "CheckForUpdates": true - } -``` - -| Field | Required | Default | UI Setting Location | Description | -|:-----------|:---------|:--------|:--------------------|:------------| -| OutputDirectory | no | `$PWD/output` | `App > Advanced` | Where downloaded and converted files should be saved to. | -| EnablePolling | no | `true` | `App Tab` | `true` if you wish P2G to run continuously and poll Peloton for new workouts. | -| PollingIntervalSeconds | no | 86400 | `App Tab` | The polling interval in seconds determines how frequently P2G should check for new workouts. Be warned, that setting this to a frequency of hourly or less may get you flagged by Peloton as a bad actor and they may reset your password. The default is set to Daily. | -| CloseWindowOnFinish | no | `false` | none | `true` if you wish the console window to close automatically when the program finishes. Not that if you have Polling enabled the program will never 'finish' as it remains active to poll regularly. | -| CheckForUpdates | no | `true` | `App Tab` | `true` if P2G should check for updates and write a log message if a new release is available. If using the UI this message will display there as well. | - -## Format Config - -This section provides settings related to conversions and what formats should be created/saved. P2G supports converting Peloton workouts into a variety of different formats. P2G also lets you choose whether or not you wish to save a local copy when the conversion is completed. This can be useful if you wish to backup your workouts or upload them manually to a different service other than Garmin. - -```json -"Format": { - "Fit": true, - "Json": false, - "Tcx": false, - "SaveLocalCopy": false, - "IncldudeTimeInHRZones": false, - "IncludeTimeInPowerZones": false, - "DeviceInfoPath": "./deviceInfo.xml", - "Cycling": { - "PreferredLapType": "Class_Targets" - }, - "Running": { - "PreferredLapType": "Distance" - }, - "Rowing": { - "PreferredLapType": "Class_Segments" - }, - "Strength": { - "DefaultSecondsPerRep": 3 - } - } -``` - -| Field | Required | Default | UI Setting Location | Description | -|:-----------|:---------|:--------|:--------------------|:------------| -| Fit | no | `false` | `Conversion Tab` | `true` indicates you wish downloaded workouts to be converted to FIT | -| Json | no | `false` | `Conversion Tab` | `true` indicates you wish downloaded workouts to be converted to JSON. This will automatically save a local copy when enabled. | -| Tcx | no | `false` | `Conversion Tab` | `true` indicates you wish downloaded workouts to be converted to TCX | -| SaveLocalCopy | no | `false` | `Conversion > Advanced` | `true` will save any converted workouts to your specified [OutputDirectory](#app-config) | -| IncludeTimeInHRZones | no | `false` | `Conversion > Advanced` | **Only use this if you are unable to configure your Max HR on Garmin Connect.** When set to True, P2G will attempt to capture the time spent in each HR Zone per the data returned by Peloton. See [understanding custom zones](#understanding-custom-zones). -| IncludePowerInHRZones | no | `false` | `Conversion > Advanced` | **Only use this if you are unable to configure your FTP and Power Zones on Garmin Connect.** When set to True, P2G will attempt to capture the time spent in each Power Zone per the data returned by Peloton. See [understanding custom zones](#understanding-custom-zones). | -| DeviceInfoPath | no | `null` | `Conversion > Advanced` | The path to your `deviceInfo.xml` file. See [providing device info](#custom-device-info) | -| Cycling | no | `null` | none | Configuration specific to Cycling workouts. | -| Cycling.PreferredLapType | no | `Default` | `Conversion Tab` | The preferred [lap type to use](#lap-types). | -| Running | no | `null` | none | Configuration specific to Running workouts. | -| Running.PreferredLapType | no | `Default` | `Conversion Tab` | The preferred [lap type to use](#lap-types). | -| Rowing | no | `null` | none | Configuration specific to Rowing workouts. | -| Rowing.PreferredLapType | no | `Default` | `Conversion Tab` | The preferred [lap type to use](#lap-types). | -| Strength | no | `null` | `Conversion Tab` | Configuration specific to Strength workouts. | -| Strength.DefaultSecondsPerRep | no | `3` | `Conversion Tab` | For exercises that are done for time instead of reps, P2G can estimate how many reps you completed using this value. Ex. If `DefaultSecondsPerRep=3` and you do Curls for 15s, P2G will estimate you completed 5 reps. | - -### Understanding Custom Zones - -Garmin Connect expects that users have a registered device and they expect users have set up their HR and Power Zones on that device. However, this presents a problem if you either A) do not have a device capable of tracking Power or B) do not have a Garmin device at all. - -The most common scenario for Peloton users is A, where they do not own a Power capable Garmin device and therefore are not able to configure their Power Zones in Garmin Connect. If you do not have Power or HR zones configured in Garmin Connect then you are not able to view accurate `Time In Zones` charts for a given workout. - -P2G provides a work around for this by optionally enriching the workout with the `Time In Zones` data with one caveat: the chart will not display the range value for the zone. - -![Example Cycling Workout](https://github.com/philosowaffle/peloton-to-garmin/blob/master/images/missing_zone_values.png?raw=true "Example Missing Zone Values") - -This is only available when generating and uploading the [FIT](#garmin-config) format. - -### Custom Device Info - -By default, P2G using a custom device when converting and upload workouts. This device information is needed in order to count your Peloton workouts towards Challenges and Badges on Garmin. However, you may observe on Garmin Connect that your Peloton workouts will show a device image that does not match your personal device. - -If you choose, you can provide P2G with your personal Device Info which will cause the Garmin workout to show the correct to device. Note, **this is completely optional and is only for cosmetic preference**, your workout will be converted, uploaded, and counted towards challenges regardless of whether this matches your personal device. - -See [configuring device info]({{ site.baseurl }}{% link configuration/providing-device-info.md %}) for detailed steps on how to create your `deviceInfo.xml`. - -### Lap Types - -P2G supports several different strategies for creating Laps in Garmin Connect. If a certain strategy is not available P2G will attempt to fallback to a different strategy. You can override this behavior by specifying your preferred Lap type in the config. When `PreferredLapType` is set, P2G will first attempt to generate your preferred type and then fall back to the default behavior if it is unable to. By default P2G will: - -1. First try to create laps based on `Class_Targets` -1. Then try to create laps based on `Class_Segments` -1. Finally fallback to create laps based on `Distance` - -| Strategy | Config Value | Description | -|:----------|:-------------|:------------| -| Class Targets | `Class_Targets` | If the Peloton data includes Target Cadence information, then laps will be created to match any time the Target Cadence changed. You must use this strategy if you want the Target Cadence to show up in Garmin on the Cadence chart. | -| Class Segments | `Class_Segments` | If the Peloton data includes Class Segment information, then laps will be created to match each segment: Warm Up, Cycling, Weights, Cool Down, etc. | -| Distance | `Distance` | P2G will caclulate Laps based on distance for each 1mi, 1km, or 500m (for Row only) based on your distance setting in Peloton. | - -## Peloton Config - -This section provides settings related to fetching workouts from Peloton. - -```json -"Peloton": { - "Email": "peloton@gmail.com", - "Password": "peloton", - "NumWorkoutsToDownload": 1, - "ExcludeWorkoutTypes": [ "meditation" ] - } -``` - -⚠️ Console or Docker Headless: Your username and password for Peloton and Garmin Connect are stored in clear text, which **is not secure**. Please be aware of the risks. ⚠️ - -⚠️ WebUI version 3.3.0: Credentials are stored **encrypted**. - -⚠️ GitHub Actions: Credentials are stored **encrypted**. - -| Field | Required | Default | UI Setting Location | Description | -|:-----------|:---------|:--------|:--------------------|:------------| -| Email | **yes** | `null` | `Peloton Tab` | Your Peloton email used to sign in | -| Password | **yes** | `null` | `Peloton Tab` | Your Peloton password used to sign in | -| NumWorkoutsToDownload | no | 5 | `Peloton Tab` | The default number of workouts to download. See [choosing number of workouts to download](#choosing-number-of-workouts-to-download). Set this to `0` if you would like P2G to prompt you each time for a number to download. | -| ExcludeWorkoutTypes | no | none | `Peloton Tab` | A comma separated list of workout types that you do not want P2G to download/convert/upload. See [example use cases](#exclude-workout-types) below. | - -### Choosing Number of Workouts To Download - -When choosing the number of workouts P2G should download each polling cycle its important to keep your configured [PollingInterval](#app-config) in mind. If, for example, your polling interval is set to hourly, then you may want to set `NumWorkoutsToDownload` to 4 or greater. This ensures if you did four 15min workouts during that hour they would all be captured. - -### Exclude Workout Types - -Example use cases: - -1. You take a wide variety of Peloton classes, including meditation and you want to skip uploading meditation classes. -1. You want to avoid double-counting activities you already track directly on a Garmin device, such as outdoor running workouts. - -The available values are: - -```json - Cycling - BikeBootcamp - TreadmillRunning - OutdoorRunning - TreadmillWalking - OutdoorWalking - Cardio - Circuit - Strength - Stretching - Yoga - Meditation -``` - -## Garmin Config - -This section provides settings related to uploading workouts to Garmin. - -```json -"Garmin": { - "Email": "garmin@gmail.com", - "Password": "garmin", - "TwoStepVerificationEnabled": false, - "Upload": false, - "FormatToUpload": "fit", - "UploadStrategy": 2 - } -``` - -⚠️ Console or Docker Headless: Your username and password for Peloton and Garmin Connect are stored in clear text, which **is not secure**. Please be aware of the risks. ⚠️ - -⚠️ WebUI version 3.3.0: Credentials are stored **encrypted**. - -⚠️ GitHub Actions: Credentials are stored **encrypted**. - -| Field | Required | Default | UI Setting Location | Description | -|:-----------|:---------|:--------|:--------------------|:------------| -| Email | **yes - if Upload=true** | `null` | `Garmin Tab` | Your Garmin email used to sign in | -| Password | **yes - if Upload=true** | `null` | `Garmin Tab` | Your Garmin password used to sign in | -| TwoStepVerificationEnabled | no | `false` | `Garmin Tab` | Whether or not your Garmin account is protected by Two Step Verification | -| Upload | no | `false` | `Garmin Tab` | `true` indicates you wish downloaded workouts to be automatically uploaded to Garmin for you. | -| FormatToUpload | no | `fit` | `Garmin Tab > Advanced` | Valid values are `fit` or `tcx`. Ensure the format you specify here is also enabled in your [Format config](#format-config) | -| UploadStrategy | **yes if Upload=true** | `null` | `Garmin Tab > Advanced` | Allows configuring different upload strategies for syncing with Garmin. Valid values are `[0 - PythonAndGuploadInstalledLocally, 1 - WindowsExeBundledPython, 2 - NativeImplV1]`. See [upload strategies](#upload-strategies) for more info. | - -### Upload Strategies - -Because Garmin does not officially support 3rd party uploads by small projects like P2G, over time we have occassionally encountered upload issues. This has caused P2G's upload strategy to evolve. Based on your installation method and or geo location, different upload strategies have worked for different people at different times. - -If you are just getting started with P2G, I recommend you start with upload strategy `2 - NativeImplV1`. You can find more details about the strategies below. - -| Strategy | Config Value | Supports Garmin Two Step Verification| Description | -|:----------|:-------------|:-------------------------------------|:------------| -| PythonAndGuploadInstalledLocally | 0 | maybe | The very first strategy P2G used. This assumes you have Python 3 and the [garmin-uploader](https://github.com/La0/garmin-uploader) python library already installed on your computer. This strategy uses the `garmin-uploader` python library for handling all uploads to Garmin. | -| WindowsExeBundledPython | 1 | no | If you are running the windows executable version of P2G and would like to use the [garmin-uploader](https://github.com/La0/garmin-uploader) python library for uploads then use this strategy. | -| NativeImplV1 | 2 | yes | **The most current and recommended upload strategy.** P2G preforms the upload to Garmin itself without relying on 3rd party libraries. | - -## Observability Config - -P2G supports publishing OpenTelemetry Metrics, Logs, and Trace. This section provides settings related to those pillars. - -The Observability config section contains three main sub-sections: - -1. [Prometheus](#prometheus-config) - Metrics -1. [Jaeger](#jaeger-config) - Traces -1. [Serilog](#serilog-config) - Logs - -```json -"Observability": { - - "Prometheus": { - "Enabled": false, - "Port": 4000 - }, - - "Jaeger": { - "Enabled": false, - "AgentHost": "localhost", - "AgentPort": 6831 - }, - - "Serilog": { - "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ], - "MinimumLevel": "Information", - "WriteTo": [ - { "Name": "Console" }, - { - "Name": "File", - "Args": { - "path": "./output/log.txt", - "rollingInterval": "Day", - "retainedFileCountLimit": 7 - } - } - ] - } - } -``` - -### Prometheus Config - -```json -"Prometheus": { - "Enabled": false, - "Port": 4000 - } -``` - -| Field | Required | Default | Description | -|:-----------|:---------|:--------|:------------| -| Enabled | no | `false` | Whether or not to expose metrics. Metrics will be available at `http://localhost:{port}/metrics` | -| Port | no | `80` | The port the metrics endpoint should be served on. Only valid for Console mode, not Api/WebUI | - -If you are using Docker, ensure you have exposed the port from your container. - -#### Example Prometheus scraper config - -```yaml -- job_name: 'p2g' - scrape_interval: 60s - static_configs: - - targets: [:] - tls_config: - insecure_skip_verify: true -``` - -### Jaeger Config - -```json -"Jaeger": { - "Enabled": false, - "AgentHost": "localhost", - "AgentPort": 6831 - } -``` - -| Field | Required | Default | Description | -|:-----------|:---------|:--------|:------------| -| Enabled | no | `false` | Whether or not to generate traces. | -| AgentHost | **yes - if Enalbed=true** | `null` | The host address for your trace collector. | -| AgentPort | **yes - if Enabled=true** | `null` | The port for your trace collector. | - -### Serilog Config - -```json -"Serilog": { - "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File", "Serilog.Sinks.Grafana.Loki" ], - "MinimumLevel": { - "Default": "Information", - "Override": { - "Microsoft": "Error", - "System": "Error" - } - }, - "WriteTo": [ - { "Name": "Console" }, - { - "Name": "File", - "Args": { - "path": "./output/log.txt", - "rollingInterval": "Day", - "retainedFileCountLimit": 7 - } - }, - { - "Name": "GrafanaLoki", - "Args": { - "uri": "http://192.168.1.95:3100", - "textFormatter": "Serilog.Sinks.Grafana.Loki.LokiJsonTextFormatter, Serilog.Sinks.Grafana.Loki", - "labels": [ - { - "key": "app", - "value": "p2g" - } - ] - } - }] -} -``` - -| Field | Required | Default | Description | -|:-----------|:---------|:--------|:------------| -| Using | no | `null` | A list of sinks you would like use. The valid sinks are listed in the examplea above. | -| MinimumLevel | no | `null` | The minimum level to write. `[Verbose, Debug, Information, Warning, Error, Fatal]` | -| WriteTo | no | `null` | Additional config for various sinks you are writing to. | - -More detailed information about configuring Logging can be found on the [Serilog Config Repo](https://github.com/serilog/serilog-settings-configuration#serilogsettingsconfiguration--). + +# Json Config File + +Based on your installation method, configuration may be provided via a `configuration.local.json` or it may be done via the user interface. In the below documentation you will see the information for both the JSON config file, and the Web UI. + +By default, P2G looks for a file named `configuration.local.json` in the same directory where the program is run. + +The config file is written in JSON and supports hot-reload for all fields except the following: + +1. `App.PollingintervalSeconds` +1. `Observability` Section + +The config file is organized into the below sections. + +| Section | Platforms | Description | +|:-------------|:----------|:------------------| +| [Api Config](#api-config) | Web UI | This section provides global settings for the P2G Api. | +| [WebUI Config](#webui-config) | Web UI | This section provides global settings for the P2G Web UI. | +| [App Config](#app-config) | Headless | This section provides global settings for the P2G application. | +| [Format Config](#format-config) | Headless | This section provides settings related to conversions and what formats should be created/saved. | +| [Peloton Config](#peloton-config) | Headless | This section provides settings related to fetching workouts from Peloton. | +| [Garmin Config](#garmin-config) | Headless | This section provides settings related to uploading workouts to Garmin. | +| [Observability Config](#observability-config) | All | This section provides settings related to Metrics, Logs, and Traces for monitoring purposes. | + +## Api Config + +If you aren't running the Web UI version of P2G you can ignore this section. + +This section lives in `webui.local.json`. + +```json + "Api": { + "HostUrl": "http://p2g-api:8080" + } +``` + +| Field | Required | Default | UI Setting Location | Description | +|:-----------|:---------|:--------|:--------------------|:------------| +| HostUrl | yes | `null` | none | The host and port for the Web UI to communicate with the Api. | + +### Advanced usage + +Typically this section is only needed in the `webui.local.json` so that the Web UI knows where to find the running Api. However, if you have a unique setup and need to modify the Host and Port the Api binds to, then you can also provide this config section in the `api.local.json`. + +```json + "Api": { + "HostUrl": "http://*:8080" + } +``` + +| Field | Required | Default | UI Setting Location | Description | +|:-----------|:---------|:--------|:--------------------|:------------| +| HostUrl | no | `http://localhost:8080` | none | The host and port the Api should bind to and listen on. | + +## WebUI Config + +If you aren't running the Web UI version of P2G you can ignore this section. + +You can provide this config section in the `webui.local.json`. + +```json + "WebUI": { + "HostUrl": "http://*:8080" + } +``` + +| Field | Required | Default | UI Setting Location | Description | +|:-----------|:---------|:--------|:--------------------|:------------| +| HostUrl | no | `http://localhost:8080` | none | The host and port the WebUI should bind to and listen on. | + +## App Config + +This section provides global settings for the P2G application. + +```json + "App": { + "EnablePolling": true, + "PollingIntervalSeconds": 86400, + "CheckForUpdates": true + } +``` + +| Field | Required | Default | UI Setting Location | Description | +|:-----------|:---------|:--------|:--------------------|:------------| +| EnablePolling | no | `true` | `App Tab` | `true` if you wish P2G to run continuously and poll Peloton for new workouts. | +| PollingIntervalSeconds | no | 86400 | `App Tab` | The polling interval in seconds determines how frequently P2G should check for new workouts. Be warned, that setting this to a frequency of hourly or less may get you flagged by Peloton as a bad actor and they may reset your password. The default is set to Daily. | +| CheckForUpdates | no | `true` | `App Tab` | `true` if P2G should check for updates and write a log message if a new release is available. If using the UI this message will display there as well. | + +## Format Config + +This section provides settings related to conversions and what formats should be created/saved. P2G supports converting Peloton workouts into a variety of different formats. P2G also lets you choose whether or not you wish to save a local copy when the conversion is completed. This can be useful if you wish to backup your workouts or upload them manually to a different service other than Garmin. + +```json +"Format": { + "Fit": true, + "Json": false, + "Tcx": false, + "SaveLocalCopy": false, + "IncldudeTimeInHRZones": false, + "IncludeTimeInPowerZones": false, + "DeviceInfoPath": "./deviceInfo.xml", + "Cycling": { + "PreferredLapType": "Class_Targets" + }, + "Running": { + "PreferredLapType": "Distance" + }, + "Rowing": { + "PreferredLapType": "Class_Segments" + }, + "Strength": { + "DefaultSecondsPerRep": 3 + } + } +``` + +| Field | Required | Default | UI Setting Location | Description | +|:-----------|:---------|:--------|:--------------------|:------------| +| Fit | no | `false` | `Conversion Tab` | `true` indicates you wish downloaded workouts to be converted to FIT | +| Json | no | `false` | `Conversion Tab` | `true` indicates you wish downloaded workouts to be converted to JSON. This will automatically save a local copy when enabled. | +| Tcx | no | `false` | `Conversion Tab` | `true` indicates you wish downloaded workouts to be converted to TCX | +| SaveLocalCopy | no | `false` | `Conversion > Advanced` | `true` will save any converted workouts to your specified [OutputDirectory](#app-config) | +| IncludeTimeInHRZones | no | `false` | `Conversion > Advanced` | **Only use this if you are unable to configure your Max HR on Garmin Connect.** When set to True, P2G will attempt to capture the time spent in each HR Zone per the data returned by Peloton. See [understanding custom zones](#understanding-custom-zones). +| IncludePowerInHRZones | no | `false` | `Conversion > Advanced` | **Only use this if you are unable to configure your FTP and Power Zones on Garmin Connect.** When set to True, P2G will attempt to capture the time spent in each Power Zone per the data returned by Peloton. See [understanding custom zones](#understanding-custom-zones). | +| DeviceInfoPath | no | `null` | `Conversion > Advanced` | The path to your `deviceInfo.xml` file. See [providing device info](#custom-device-info) | +| Cycling | no | `null` | none | Configuration specific to Cycling workouts. | +| Cycling.PreferredLapType | no | `Default` | `Conversion Tab` | The preferred [lap type to use](#lap-types). | +| Running | no | `null` | none | Configuration specific to Running workouts. | +| Running.PreferredLapType | no | `Default` | `Conversion Tab` | The preferred [lap type to use](#lap-types). | +| Rowing | no | `null` | none | Configuration specific to Rowing workouts. | +| Rowing.PreferredLapType | no | `Default` | `Conversion Tab` | The preferred [lap type to use](#lap-types). | +| Strength | no | `null` | `Conversion Tab` | Configuration specific to Strength workouts. | +| Strength.DefaultSecondsPerRep | no | `3` | `Conversion Tab` | For exercises that are done for time instead of reps, P2G can estimate how many reps you completed using this value. Ex. If `DefaultSecondsPerRep=3` and you do Curls for 15s, P2G will estimate you completed 5 reps. | + +### Understanding Custom Zones + +Garmin Connect expects that users have a registered device and they expect users have set up their HR and Power Zones on that device. However, this presents a problem if you either A) do not have a device capable of tracking Power or B) do not have a Garmin device at all. + +The most common scenario for Peloton users is A, where they do not own a Power capable Garmin device and therefore are not able to configure their Power Zones in Garmin Connect. If you do not have Power or HR zones configured in Garmin Connect then you are not able to view accurate `Time In Zones` charts for a given workout. + +P2G provides a work around for this by optionally enriching the workout with the `Time In Zones` data with one caveat: the chart will not display the range value for the zone. + +![Example Cycling Workout](https://github.com/philosowaffle/peloton-to-garmin/blob/master/images/missing_zone_values.png?raw=true "Example Missing Zone Values") + +This is only available when generating and uploading the [FIT](#garmin-config) format. + +### Custom Device Info + +By default, P2G using a custom device when converting and upload workouts. This device information is needed in order to count your Peloton workouts towards Challenges and Badges on Garmin. However, you may observe on Garmin Connect that your Peloton workouts will show a device image that does not match your personal device. + +If you choose, you can provide P2G with your personal Device Info which will cause the Garmin workout to show the correct to device. Note, **this is completely optional and is only for cosmetic preference**, your workout will be converted, uploaded, and counted towards challenges regardless of whether this matches your personal device. + +See [configuring device info](providing-device-info.md) for detailed steps on how to create your `deviceInfo.xml`. + +### Lap Types + +P2G supports several different strategies for creating Laps in Garmin Connect. If a certain strategy is not available P2G will attempt to fallback to a different strategy. You can override this behavior by specifying your preferred Lap type in the config. When `PreferredLapType` is set, P2G will first attempt to generate your preferred type and then fall back to the default behavior if it is unable to. By default P2G will: + +1. First try to create laps based on `Class_Targets` +1. Then try to create laps based on `Class_Segments` +1. Finally fallback to create laps based on `Distance` + +| Strategy | Config Value | Description | +|:----------|:-------------|:------------| +| Class Targets | `Class_Targets` | If the Peloton data includes Target Cadence information, then laps will be created to match any time the Target Cadence changed. You must use this strategy if you want the Target Cadence to show up in Garmin on the Cadence chart. | +| Class Segments | `Class_Segments` | If the Peloton data includes Class Segment information, then laps will be created to match each segment: Warm Up, Cycling, Weights, Cool Down, etc. | +| Distance | `Distance` | P2G will caclulate Laps based on distance for each 1mi, 1km, or 500m (for Row only) based on your distance setting in Peloton. | + +## Peloton Config + +This section provides settings related to fetching workouts from Peloton. + +```json +"Peloton": { + "Email": "peloton@gmail.com", + "Password": "peloton", + "NumWorkoutsToDownload": 1, + "ExcludeWorkoutTypes": [ "meditation" ] + } +``` + +!!! warning + + Console or Docker Headless: Your username and password for Peloton and Garmin Connect are stored in clear text, which **is not secure**. Please be aware of the risks. + + +!!! success "WebUI version 3.3.0: Credentials are stored **encrypted**." + +!!! success "GitHub Actions: Credentials are stored **encrypted**." + +| Field | Required | Default | UI Setting Location | Description | +|:-----------|:---------|:--------|:--------------------|:------------| +| Email | **yes** | `null` | `Peloton Tab` | Your Peloton email used to sign in | +| Password | **yes** | `null` | `Peloton Tab` | Your Peloton password used to sign in | +| NumWorkoutsToDownload | no | 5 | `Peloton Tab` | The default number of workouts to download. See [choosing number of workouts to download](#choosing-number-of-workouts-to-download). Set this to `0` if you would like P2G to prompt you each time for a number to download. | +| ExcludeWorkoutTypes | no | none | `Peloton Tab` | A comma separated list of workout types that you do not want P2G to download/convert/upload. See [example use cases](#exclude-workout-types) below. | + +### Choosing Number of Workouts To Download + +When choosing the number of workouts P2G should download each polling cycle its important to keep your configured [PollingInterval](#app-config) in mind. If, for example, your polling interval is set to hourly, then you may want to set `NumWorkoutsToDownload` to 4 or greater. This ensures if you did four 15min workouts during that hour they would all be captured. + +### Exclude Workout Types + +Example use cases: + +1. You take a wide variety of Peloton classes, including meditation and you want to skip uploading meditation classes. +1. You want to avoid double-counting activities you already track directly on a Garmin device, such as outdoor running workouts. + +The available values are: + +```json + Cycling + BikeBootcamp + TreadmillRunning + OutdoorRunning + TreadmillWalking + OutdoorWalking + Cardio + Circuit + Strength + Stretching + Yoga + Meditation +``` + +## Garmin Config + +This section provides settings related to uploading workouts to Garmin. + +```json +"Garmin": { + "Email": "garmin@gmail.com", + "Password": "garmin", + "TwoStepVerificationEnabled": false, + "Upload": false, + "FormatToUpload": "fit" + } +``` + +!!! warning + + Console or Docker Headless: Your username and password for Peloton and Garmin Connect are stored in clear text, which **is not secure**. Please be aware of the risks. + +!!! success "WebUI version 3.3.0: Credentials are stored **encrypted**." + +!!! success "GitHub Actions: Credentials are stored **encrypted**." + +| Field | Required | Default | UI Setting Location | Description | +|:-----------|:---------|:--------|:--------------------|:------------| +| Email | **yes - if Upload=true** | `null` | `Garmin Tab` | Your Garmin email used to sign in | +| Password | **yes - if Upload=true** | `null` | `Garmin Tab` | Your Garmin password used to sign in | +| TwoStepVerificationEnabled | no | `false` | `Garmin Tab` | Whether or not your Garmin account is protected by Two Step Verification | +| Upload | no | `false` | `Garmin Tab` | `true` indicates you wish downloaded workouts to be automatically uploaded to Garmin for you. | +| FormatToUpload | no | `fit` | `Garmin Tab > Advanced` | Valid values are `fit` or `tcx`. Ensure the format you specify here is also enabled in your [Format config](#format-config) | + +## Observability Config + +P2G supports publishing OpenTelemetry Metrics, Logs, and Trace. This section provides settings related to those pillars. + +The Observability config section contains three main sub-sections: + +1. [Prometheus](#prometheus-config) - Metrics +1. [Jaeger](#jaeger-config) - Traces +1. [Serilog](#serilog-config) - Logs + +```json +"Observability": { + + "Prometheus": { + "Enabled": false, + "Port": 4000 + }, + + "Jaeger": { + "Enabled": false, + "AgentHost": "localhost", + "AgentPort": 6831 + }, + + "Serilog": { + "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ], + "MinimumLevel": "Information", + "WriteTo": [ + { "Name": "Console" }, + { + "Name": "File", + "Args": { + "path": "./output/log.txt", + "rollingInterval": "Day", + "retainedFileCountLimit": 7 + } + } + ] + } + } +``` + +### Prometheus Config + +```json +"Prometheus": { + "Enabled": false, + "Port": 4000 + } +``` + +| Field | Required | Default | Description | +|:-----------|:---------|:--------|:------------| +| Enabled | no | `false` | Whether or not to expose metrics. Metrics will be available at `http://localhost:{port}/metrics` | +| Port | no | `80` | The port the metrics endpoint should be served on. Only valid for Console mode, not Api/WebUI | + +If you are using Docker, ensure you have exposed the port from your container. + +#### Example Prometheus scraper config + +```yaml +- job_name: 'p2g' + scrape_interval: 60s + static_configs: + - targets: [:] + tls_config: + insecure_skip_verify: true +``` + +### Jaeger Config + +```json +"Jaeger": { + "Enabled": false, + "AgentHost": "localhost", + "AgentPort": 6831 + } +``` + +| Field | Required | Default | Description | +|:-----------|:---------|:--------|:------------| +| Enabled | no | `false` | Whether or not to generate traces. | +| AgentHost | **yes - if Enalbed=true** | `null` | The host address for your trace collector. | +| AgentPort | **yes - if Enabled=true** | `null` | The port for your trace collector. | + +### Serilog Config + +```json +"Serilog": { + "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File", "Serilog.Sinks.Grafana.Loki" ], + "MinimumLevel": { + "Default": "Information", + "Override": { + "Microsoft": "Error", + "System": "Error" + } + }, + "WriteTo": [ + { "Name": "Console" }, + { + "Name": "File", + "Args": { + "path": "./output/log.txt", + "rollingInterval": "Day", + "retainedFileCountLimit": 7 + } + }, + { + "Name": "GrafanaLoki", + "Args": { + "uri": "http://192.168.1.95:3100", + "textFormatter": "Serilog.Sinks.Grafana.Loki.LokiJsonTextFormatter, Serilog.Sinks.Grafana.Loki", + "labels": [ + { + "key": "app", + "value": "p2g" + } + ] + } + }] +} +``` + +| Field | Required | Default | Description | +|:-----------|:---------|:--------|:------------| +| Using | no | `null` | A list of sinks you would like use. The valid sinks are listed in the examplea above. | +| MinimumLevel | no | `null` | The minimum level to write. `[Verbose, Debug, Information, Warning, Error, Fatal]` | +| WriteTo | no | `null` | Additional config for various sinks you are writing to. | + +More detailed information about configuring Logging can be found on the [Serilog Config Repo](https://github.com/serilog/serilog-settings-configuration#serilogsettingsconfiguration--). diff --git a/docs/configuration/providing-device-info.md b/mkdocs/docs/configuration/providing-device-info.md similarity index 93% rename from docs/configuration/providing-device-info.md rename to mkdocs/docs/configuration/providing-device-info.md index d1a6a9574..0ca78a9e7 100644 --- a/docs/configuration/providing-device-info.md +++ b/mkdocs/docs/configuration/providing-device-info.md @@ -1,9 +1,3 @@ ---- -layout: default -title: Providing Device Info -parent: Configuration -nav_order: 3 ---- # Device Info @@ -43,7 +37,7 @@ If you choose, you can provide P2G with your personal Device Info which will cau 1. Save the file as `deviceInfo.xml` 1. Configure P2G to use the device info file 1. Move your prepared `deviceInfo.xml` file so that it is in your P2G folder - 1. Modify the [DeviceInfoPath]({{ site.baseurl }}{% link configuration/json.md %}#format-config) to point to the location of your `deviceInfo.xml` + 1. Modify the [DeviceInfoPath](json.md#format-config) to point to the location of your `deviceInfo.xml` 1. If you are using Docker, ensure you have mounted the files location into the container ### Example diff --git a/docs/contributing.md b/mkdocs/docs/contributing.md similarity index 83% rename from docs/contributing.md rename to mkdocs/docs/contributing.md index ba0a5fe9f..e03dff521 100644 --- a/docs/contributing.md +++ b/mkdocs/docs/contributing.md @@ -1,9 +1,3 @@ ---- -layout: default -title: Contributing -nav_order: 8 ---- - # Contributing Enhancements and fixes are always welcome. Feel free to contribute to any of the Issues not already assigned to another person. @@ -24,12 +18,12 @@ Ensure that your code: ``` > dotnet restore > dotnet build -> dotnet run ./src/PelotonToGarminConsole/PelotonToGarminConsole.csproj +> dotnet run ./src/ConsoleClient/ConsoleClient.csproj ``` ## Package Windows exe ``` -> dotnet publish ./src/PelotonToGarminConsole/PelotonToGarminConsole.csproj --no-restore -c Release -r win10-x64 -o ./dist --version-suffix local +> dotnet publish ./src/ConsoleClient/ConsoleClient.csproj --no-restore -c Release -r win10-x64 -o ./dist --version-suffix local ``` ## Developing against garmin-upload python library diff --git a/docs/faq.md b/mkdocs/docs/faq.md similarity index 75% rename from docs/faq.md rename to mkdocs/docs/faq.md index aaacc9287..ac4ddb017 100644 --- a/docs/faq.md +++ b/mkdocs/docs/faq.md @@ -1,27 +1,18 @@ ---- -layout: default -title: FAQ -nav_order: 6 ---- - # F.A.Q. Below are a list of commonly asked questions. For even more help head on over to the [discussion forum](https://github.com/philosowaffle/peloton-to-garmin/discussions). -1. TOC -{:toc} - ## VO2 Max and TSS Garmin will only generate a VO2 max for your workouts if all of the following criteria are met: 1. Your personal Garmin device already supports VO2 Max Calculations -1. You have not configured a [custom device info file]({{ site.baseurl }}{% link configuration/providing-device-info.md %}) (i.e. you are using the defaults) +1. You have not configured a [custom device info file](configuration/providing-device-info.md) (i.e. you are using the defaults) 1. You have met all of [Garmin's VO2 requirements](https://support.garmin.com/en-SG/?faq=MyIZ05OMpu6wSl95UVUjp7) for your workout type ## Garmin Two Step Verification -Only some [install options have support]({{ site.baseurl }}{% link install/index.md %}) for Garmin Two Step Verification. In all cases, automatic-syncing is never supported when your Garmin account is protected by two step verification. +Only some [install options have support](install/index.md) for Garmin Two Step Verification. In all cases, automatic-syncing is never supported when your Garmin account is protected by two step verification. ## Garmin Upload Not Working @@ -39,4 +30,4 @@ If the problem persists head on over to the [discussion forum](https://github.co ## My Zones are missing the range values in Garmin Connect -See [Understanding custom zones]({{ site.baseurl }}{% link configuration/json.md %}#understanding-custom-zones). \ No newline at end of file +See [Understanding custom zones](configuration/json.md#understanding-custom-zones). diff --git a/docs/features.md b/mkdocs/docs/features.md similarity index 61% rename from docs/features.md rename to mkdocs/docs/features.md index 178433295..2e30c9972 100644 --- a/docs/features.md +++ b/mkdocs/docs/features.md @@ -1,35 +1,43 @@ ---- -layout: default -title: Features -nav_order: 1 ---- # Features -Convert, Backup, and Sync. +Convert, Backup, and Sync your Peloton workouts to Garmin Connect locally and for free. + +## Workout Data + +1. Workout Types Supported + 1. Bike + 1. Tread + 1. Rower + 1. Meditation + 1. Strength + 1. Outdoor + 1. and more +1. Workout Data + 1. Heart Rate + 1. Cadence + 1. Target Cadence + 1. Distance + 1. Power + 1. Laps + 1. and more +1. Strength Data + 1. Exercise Name + 1. Rep count + 1. Weight + +## Garmin Sync -## Feature List - -1. Syncs workout data from Peloton to Garmin Connect -1. Supports all Peloton workout types (Biking, Tread, Core, Meditation, Rower etc.) 1. Supports Garmin accounts protected by Two Step Verification -1. Syncs all available metric data from Peloton over to Garmin Connect -1. Syncs laps and target cadence 1. Synced workouts count towards Garmin Badges and Challenges -1. Synced workouts count towards VO2 Max [1]({{ site.baseurl }}{% link faq.md %}) and Training Stress Scores -1. Syncs Exercise information (including reps and weight) for Strength and Core workouts (when available) -1. Syncs on demand or on a schedule -1. Highly Configurable -1. Docker-ized -1. OpenTelemetry for the data nerds +1. Synced workouts count towards VO2 Max [1](faq.md) and Training Stress Scores -### Data Synced +## P2G -1. HR -1. Cadence -1. Target Cadence -1. Distance -1. Power +1. Syncs on-demand or on a schedule +1. Highly configurable +1. Docker-ized +1. OpenTelemetry for the data nerds ## Typical Usage @@ -42,7 +50,7 @@ Convert, Backup, and Sync. ## Screenshots -#### Converted and imported Cycling Workout +### Converted and imported Cycling Workout ![Converted Cycling Workout](https://github.com/philosowaffle/peloton-to-garmin/raw/master/images/example_cycle.png?raw=true "Converted Cycling Workout") @@ -58,5 +66,6 @@ Convert, Backup, and Sync. ![Laps](https://github.com/philosowaffle/peloton-to-garmin/raw/master/images/example_laps.png?raw=true "Laps") -### Web UI -![Web UI Demo](https://github.com/philosowaffle/peloton-to-garmin/raw/master/images/p2g_webui_demo.gif?raw=true "Web UI Demo") +### UI + +![P2G UI Demo](img/p2g_demo.gif "P2G UI Demo") diff --git a/mkdocs/docs/help.md b/mkdocs/docs/help.md new file mode 100644 index 000000000..db88631ca --- /dev/null +++ b/mkdocs/docs/help.md @@ -0,0 +1,53 @@ + +# Help + +If you are encountering a problem, here are some resources that may help you. + +## Discussion Forum + +[Search the Discussion Forum](https://github.com/philosowaffle/peloton-to-garmin/discussions) to see if your topic has already been discussed before. Take note that the search bar lets you filter by `open` and `closed` discussions, it is beneficial to check both. + +!!! tip "Have a question? Need help with something?" + + The [Discussion Forum](https://github.com/philosowaffle/peloton-to-garmin/discussions) is the best place to post. When posting please ensure you are [providing the right details](#providing-the-right-details). + +## Issues + +Bugs, feature requests, and more often get tracked in the [Issues](https://github.com/philosowaffle/peloton-to-garmin/issues) tab in Github. This is also a great place to search for information. Particularly important issues that impact many people will usually be pinned and highly visible. Take note that the search bar lets you filter by `open` and `closed` issues, it is beneficial to check both. + +!!! tip "Have a feature idea? Encountered a bug?" + + Creating a new [Issue](https://github.com/philosowaffle/peloton-to-garmin/issues) is the best place to post. When posting please ensure you are [providing the right details](#providing-the-right-details). + +## Providing the right details + +P2G can be run in a variety of different ways and its difficult for people to provide help if they have to guess about your particular setup. When asking for help, or logging a bug, please be sure to include the below information at a minimum for the most effective help: + +1. How are you running P2G? In other words, which [install mtehod](install/index.md) did you choose when you setup P2G? +1. What [version of P2G](#finding-version) are you running? +1. A copy of the log files that were generated, ideally the entire log file, not just the part where you see an error. See [Finding logs](#finding-logs). + +## Finding logs + +### Headless / Docker Headless + +The log files will be written to `output/log.txt`. + +### Windows UI / Web UI + +Naviate to the `About` page, then click the `Logs` tab. Additionally, the log files will be written to `output/log.txt`. + +### GitHub Actions + +If your forked repository is public, then you can simply provide a link to the repository and people can view the necessary logs from there. If your repository is private then to find the logs for a given run: + +1. Go to your copy of the repository +1. Select the `Actions` tab, along the top left of the view +1. Click the very first `Sync workflow`` item to open up that workflow +1. In the left hand menu, under Jobs click `sync` +1. Finally, expand the item that says `Run /app/PelotonToGarminConsole` +1. Share the logs from this view + +## Finding version + +Version information is always written as the first thing in the [log file](#finding-logs). Additionally, on a UI version of P2G you can find the version information on the `About` page. diff --git a/mkdocs/docs/img/256x256.png b/mkdocs/docs/img/256x256.png new file mode 100644 index 000000000..982917379 Binary files /dev/null and b/mkdocs/docs/img/256x256.png differ diff --git a/docs/favicon.ico b/mkdocs/docs/img/favicon.ico similarity index 100% rename from docs/favicon.ico rename to mkdocs/docs/img/favicon.ico diff --git a/mkdocs/docs/img/p2g_demo.gif b/mkdocs/docs/img/p2g_demo.gif new file mode 100644 index 000000000..42c384c02 Binary files /dev/null and b/mkdocs/docs/img/p2g_demo.gif differ diff --git a/docs/index.md b/mkdocs/docs/index.md similarity index 54% rename from docs/index.md rename to mkdocs/docs/index.md index bcfb57598..5a1a6a43c 100644 --- a/docs/index.md +++ b/mkdocs/docs/index.md @@ -1,23 +1,16 @@ ---- -layout: default -title: Home -nav_order: 0 ---- # Home -Sync workouts from Peloton to Garmin. +Sync your Peloton workouts to Garmin locally and for free. + +![P2G UI Demo](img/p2g_demo.gif "P2G UI Demo") * Fetch latest workouts from Peloton - * Bike, Tread, Rower, Meditation, Strength, Outdoor, and more -* Automatically upload TCX or FIT workout to Garmin -* Convert Peloton workouts to a variety of formats for offline backup -* Earn Badges and credit for Garmin Challenges -* Counts towards VO2 Max [1]({{ site.baseurl }}{% link faq.md %}) and Training Stress Scores -* Supports Garmin accounts protected by Two Step Verification -* Supports mapping Exercises from Strength workouts +* Create backups +* Automatically upload your workouts to Garmin +* [And more...](features.md) -Head on over to the [Install]({{ site.baseurl }}{% link install/index.md %}) page to get started! +### Head on over to the [Install](install/index.md) page to get started! ## Example Usage @@ -29,12 +22,12 @@ Head on over to the [Install]({{ site.baseurl }}{% link install/index.md %}) pag ![Example Cycling Workout](https://github.com/philosowaffle/peloton-to-garmin/blob/master/images/example_cycle.png?raw=true "Example Cycling Workout") -## Supported Platforms +!!!note "Supported Platforms" -* Windows -* Mac -* Linux -* Docker + * Windows + * Mac + * Linux + * Docker ## Contributors diff --git a/mkdocs/docs/install/docker-headless.md b/mkdocs/docs/install/docker-headless.md new file mode 100644 index 000000000..c75a896ed --- /dev/null +++ b/mkdocs/docs/install/docker-headless.md @@ -0,0 +1,45 @@ + +# Docker Headless + +This flavor of P2G runs without any user interface and relies on configuration from `configuration.local.json` file. + +!!! info "[DockerHub](https://hub.docker.com/r/philosowaffle/peloton-to-garmin)" + + ```bash + docker run -i -v /full/path/to/configuration.local.json:/app/configuration.local.json -v /full/path/to/output:/app/output philosowaffle/peloton-to-garmin:stable + ``` + +!!! info "[GitHub Package](https://github.com/philosowaffle/peloton-to-garmin/pkgs/container/peloton-to-garmin)" + + ```bash + docker run -i -v /full/path/to/configuration.local.json:/app/configuration.local.json -v /full/path/to/output:/app/output ghcr.io/philosowaffle/peloton-to-garmin:stable + ``` + +## docker-compose + +*Pre-requisite:* You have either `docker-compose` or `Docker Desktop` installed +*This method does not work with Garmin accounts protected by Two Step Verification* + +1. Create a directory `p2g-headless` + 1. Inside this folder create a [docker-compose.yaml](https://github.com/philosowaffle/peloton-to-garmin/blob/master/docker/headless/docker-compose.yaml) file in the directory + 1. Also create a [configuration.local.json](https://github.com/philosowaffle/peloton-to-garmin/blob/master/configuration.example.json) file in the directory. + 1. Edit the configuration file to use your Peloton and Garmin credentials +1. Open a terminal in this folder +1. Run: `docker-compose pull && docker-compose up -d` + +Any logs or generated files will be available in the `output` directory. Additionally, you can learn more about customizing your configuration over in the [Configuration Section](../configuration/index.md) + +### To stop P2G + +1. You can use Docker Desktop application to kill the containers +1. Or, you can open a terminal in the `p2g-headless` folder + 1. Run: `docker-compose down` + +### To update P2G + +1. Open a terminal in the `p2g-headless` folder + 1. Run: `docker-compose pull && docker-compose up -d` + +## Prometheus + +If you configure P2G to serve Prometheus metrics then you will also need to map the corresponding port for your docker container. By default, Prometheus metrics will be served on port `4000`. You can learn more about P2G and Prometheus in the [Observability Configuration](../configuration/index.md) section. diff --git a/docs/install/docker-webui.md b/mkdocs/docs/install/docker-webui.md similarity index 84% rename from docs/install/docker-webui.md rename to mkdocs/docs/install/docker-webui.md index a81e3c512..d40149823 100644 --- a/docs/install/docker-webui.md +++ b/mkdocs/docs/install/docker-webui.md @@ -1,81 +1,75 @@ ---- -layout: default -title: Docker - Web UI -parent: Install -nav_order: 1 ---- - -# Docker - Web UI - -With version 3, P2G now ships with an optional User Interface. Some key features include: - -1. Configure your settings via a user interface -1. Trigger a sync from any browser (your computer, your phone, etc.) -1. Sync service can still run in the background, syncing periodically -1. OpenApi for custom scripts and workflows - -![Web UI Demo](https://github.com/philosowaffle/peloton-to-garmin/raw/master/images/p2g_webui_demo.gif?raw=true "Web UI Demo") - -## docker-compose - -*Pre-requisite:* You have either `docker-compose` or `Docker Desktop` installed - -1. Create a folder named `p2g-webui` - 1. Inside this folder create [docker-compose.yaml](https://github.com/philosowaffle/peloton-to-garmin/blob/master/docker/webui/docker-compose-ui.yaml) - 1. Also create [api.local.json](https://github.com/philosowaffle/peloton-to-garmin/blob/master/docker/webui/api.local.json) - 1. Also create [webui.local.json](https://github.com/philosowaffle/peloton-to-garmin/blob/master/docker/webui/webui.local.json) -1. Open a terminal in this folder -1. Run: `docker-compose pull && docker-compose up -d` - 1. This will pull the containers and start them up running in the background - 1. You can close the terminal at this time -1. Open a browser and navigate to `http://localhost:8002` - -Any logs or generated files will be available in the `output` directory. Additionally, you can learn more about customizing your configuration over in the [Configuration Section]({{ site.baseurl }}{% link configuration/index.md %}) - -### To stop P2G - -1. You can use Docker Desktop application to kill the containers -1. Or, you can open a terminal in the `p2g-webui` folder - 1. Run: `docker-compose down` - -### To update P2G - -1. Open a terminal in the `p2g-webui` folder - 1. Run: `docker-compose pull && docker-compose up -d` - -## Configuration - -If you are migrating to the Web UI for the first time you will need to reconfigure most of your settings using the user interface. The only settings that are carried over and still configured via the configuration file are the ones related to `Observability` and `Api`. - -## Open Api - -To access the Open API spec for P2G you will need to expose the below port on the Api docker container. The open API spec will be available at `http://localhost:8001/swagger`. - -```yaml -version: "3.9" - -services: - p2g-api: - container_name: p2g-api - image: philosowaffle/peloton-to-garmin:api-stable - environment: - - TZ=America/Chicago - ports: - - 8001:8080 # to access the api or swagger docs - volumes: - - ./api.local.json:/app/configuration.local.json - - ./data:/app/data - - ./output:/app/output - - p2g-webui: - container_name: p2g-webui - image: philosowaffle/peloton-to-garmin:webui-stable - ports: - - 8002:8080 - environment: - - TZ=America/Chicago - volumes: - - ./webui.local.json:/app/configuration.local.json - depends_on: - - p2g-api -``` + +# Docker - Web UI + +P2G provides a website user interface. Some key features include: + +1. Configure your settings via a user interface +1. Trigger a sync from any browser (your computer, your phone, etc.) +1. Sync service can still run in the background, syncing periodically +1. OpenApi for custom scripts and workflows + +![P2G UI Demo](../img/p2g_demo.gif "P2G UI Demo") + +## docker-compose + +*Pre-requisite:* You have either `docker-compose` or `Docker Desktop` installed + +1. Create a folder named `p2g-webui` + 1. Inside this folder create [docker-compose.yaml](https://github.com/philosowaffle/peloton-to-garmin/blob/master/docker/webui/docker-compose-ui.yaml) + 1. Also create [api.local.json](https://github.com/philosowaffle/peloton-to-garmin/blob/master/docker/webui/api.local.json) + 1. Also create [webui.local.json](https://github.com/philosowaffle/peloton-to-garmin/blob/master/docker/webui/webui.local.json) +1. Open a terminal in this folder +1. Run: `docker-compose pull && docker-compose up -d` + 1. This will pull the containers and start them up running in the background + 1. You can close the terminal at this time +1. Open a browser and navigate to `http://localhost:8002` + +Any logs or generated files will be available in the `output` directory. Additionally, you can learn more about customizing your configuration over in the [Configuration Section](../configuration/index.md) + +### To stop P2G + +1. You can use Docker Desktop application to kill the containers +1. Or, you can open a terminal in the `p2g-webui` folder + 1. Run: `docker-compose down` + +### To update P2G + +1. Open a terminal in the `p2g-webui` folder + 1. Run: `docker-compose pull && docker-compose up -d` + +## Configuration + +If you are migrating to the Web UI for the first time you will need to reconfigure most of your settings using the user interface. The only settings that are carried over and still configured via the configuration file are the ones related to `Observability`. + +## Open Api + +To access the Open API spec for P2G you will need to expose the below port on the Api docker container. The open API spec will be available at `http://localhost:8001/swagger`. + +```yaml +version: "3.9" + +services: + p2g-api: + container_name: p2g-api + image: philosowaffle/peloton-to-garmin:api-stable + environment: + - TZ=America/Chicago + ports: + - 8001:8080 # to access the api or swagger docs + volumes: + - ./api.local.json:/app/configuration.local.json + - ./data:/app/data + - ./output:/app/output + + p2g-webui: + container_name: p2g-webui + image: philosowaffle/peloton-to-garmin:webui-stable + ports: + - 8002:8080 + environment: + - TZ=America/Chicago + volumes: + - ./webui.local.json:/app/configuration.local.json + depends_on: + - p2g-api +``` diff --git a/docs/install/docker.md b/mkdocs/docs/install/docker.md similarity index 62% rename from docs/install/docker.md rename to mkdocs/docs/install/docker.md index 64909dca4..181dc5faf 100644 --- a/docs/install/docker.md +++ b/mkdocs/docs/install/docker.md @@ -1,59 +1,61 @@ ---- -layout: default -title: Docker -parent: Install -nav_order: 0 ---- - -# Docker - -The recommended installation method is with Docker. If you're not familiar with Docker but would like to try it check out the [quick start guide](#quick-start-guide). - -P2G offers two main flavors of docker images: - -| Flavor | Support Garmin 2-Step Verification | Support Automatic Syncing | -|:------------------|:-----------------------------------|:--------------------------| -| [Web UI]({{ site.baseurl }}{% link install/docker-webui.md %}) | yes | only when Garmin 2fa is disabled | -| [Docker Headless]({{ site.baseurl }}{% link install/docker-headless.md %}) | partial | only when Garmin 2fa is disabled | - -## Image Repositories - -P2G publishes Docker images to both [DockerHub](https://hub.docker.com/r/philosowaffle/peloton-to-garmin) and [GitHub Package](https://github.com/philosowaffle/peloton-to-garmin/pkgs/container/peloton-to-garmin). - -## Tags - -The following tags are provided: - -### Image flavors - -1. `stable`- By default the base tag points to the headless version of P2G -2. `console-latest` - By default points to the latest version of the headless version of P2G -3. `api-stable` / `api-latest` - Used in conjunction with the `webui` image, provides the API and server for P2G user interface -4. `webui-stable` / `webui-latest` - Used in conjunction with the `api` image, provides a P2G web user interface - -### Tag versioning - -1. `stable` - Always points to the latest release -1. `v{X}` / `v3` / `v4` - Always points to the latest of the current major version -1. `latest` - The bleeding edge of the master branch, breaking changes may happen -1. `vX.Y.Z` - For using a specific released version - -## Docker User - -The P2G images run the process under the user and group `p2g:p2g` with uid and gid `1015:1015`. To access files created by `p2g`: - -1. Create a group on the local machine `p2g` with group id `1015` -1. Add your user on the local machine to the `p2g` group - -## Quick Start Guide - -Docker provides an easy and consistent way to install, update, and uninstall applications across multiple Operating Systems. Docker is extremely popular in the self-hosted community, a group interested in minimizing dependencies on Cloud providers in favor of attempting to keep their data local, private, and free. You can learn more about the ever growing list of self-hosted applications on the [awesome-selfhosted list](https://github.com/awesome-selfhosted/awesome-selfhosted). - -To learn more about Docker head on over to their [website](https://www.docker.com/resources/what-container/). - -### Mac / Windows Docker Quick Start - -1. Download and install Docker Desktop, this will give you all the tools you need and a handy UI for managing docker containers - 1. [Install Mac Docker Desktop](https://docs.docker.com/desktop/install/mac-install/) - 1. [Install Windows Docker Desktop](https://docs.docker.com/desktop/install/windows-install/) -1. Follow the remaining instructions [here]({{ site.baseurl }}{% link install/docker-webui.md %}#docker-compose) + +# Docker + +The recommended installation method is with Docker. If you're not familiar with Docker but would like to try it check out the [quick start guide](#quick-start-guide). + +P2G offers two main flavors of docker images: + +| Flavor | Support Garmin 2-Step Verification | Support Automatic Syncing | +|:------------------|:-----------------------------------|:--------------------------| +| [Web UI](docker-webui.md) | yes | only when Garmin 2fa is disabled | +| [Docker Headless](docker-headless.md) | partial | only when Garmin 2fa is disabled | + +!!! info "Image Repositories" + + P2G publishes Docker images to both [DockerHub](https://hub.docker.com/r/philosowaffle/peloton-to-garmin) and [GitHub Package](https://github.com/philosowaffle/peloton-to-garmin/pkgs/container/peloton-to-garmin). + +## Tags + +P2G ships several different flavors of containers that can be combined with a version tag: + +### Image flavors + +1. `console`- The headless version of P2G, simple console application +1. `api` - Used in conjunction with the `webui` image, provides the API and server for P2G user interface +1. `webui` - Used in conjunction with the `api` image, provides a P2G web user interface + +### Version tags + +1. `stable` - Always points to the latest release +1. `v{X}` / `v3` / `v4` - Always points to the latest of the current major version +1. `latest` - The bleeding edge of the master branch, breaking changes may happen +1. `vX.Y.Z` - For using a specific released version + +### Using Flavor and Version Tag + +In the below examples, you can substitute `console` for any [Image Flavor](#image-flavors). + +1. `console-latest` +1. `console-stable` +1. `console-v4` +1. `console-v3.6.0` + +## Docker User + +The P2G images run the process under the user and group `p2g:p2g` with uid and gid `1015:1015`. To access files created by `p2g`: + +1. Create a group on the local machine `p2g` with group id `1015` +1. Add your user on the local machine to the `p2g` group + +## Quick Start Guide + +Docker provides an easy and consistent way to install, update, and uninstall applications across multiple Operating Systems. Docker is extremely popular in the self-hosted community, a group interested in minimizing dependencies on Cloud providers in favor of attempting to keep their data local, private, and free. You can learn more about the ever growing list of self-hosted applications on the [awesome-selfhosted list](https://github.com/awesome-selfhosted/awesome-selfhosted). + +To learn more about Docker head on over to their [website](https://www.docker.com/resources/what-container/). + +### Mac / Windows Docker Quick Start + +1. Download and install Docker Desktop, this will give you all the tools you need and a handy UI for managing docker containers + 1. [Install Mac Docker Desktop](https://docs.docker.com/desktop/install/mac-install/) + 1. [Install Windows Docker Desktop](https://docs.docker.com/desktop/install/windows-install/) +1. Follow the remaining instructions [here](docker-webui.md#docker-compose) diff --git a/docs/install/github-action.md b/mkdocs/docs/install/github-action.md similarity index 90% rename from docs/install/github-action.md rename to mkdocs/docs/install/github-action.md index 3fd6edce6..6d537d40d 100644 --- a/docs/install/github-action.md +++ b/mkdocs/docs/install/github-action.md @@ -1,14 +1,10 @@ ---- -layout: default -title: Using Github Actions -nav_order: 4 -parent: Install -has_children: false ---- - # Github Actions -A Github Actions workflow exists that can be used to automatically sync your rides on a schedule (by default once a day). This option does not support Garmin accounts protected by Two Step Verification. +A Github Actions workflow exists that can be used to automatically sync your rides on a schedule (by default once a day). + +!!! warning + + This option does not support Garmin accounts protected by Two Step Verification. ## Getting started @@ -49,7 +45,7 @@ From this point on you can add secrets by clicking the `New repository secret` b Once you've configured your secrets, you can then navigate to the `Actions` tab within your repository. -1. Enable actions for your fork. +1. Enable actions for your fork. 1. You can now run the `Sync workflow` manually To have tha action run on a schedule set the `cron` line in the `./github/workflows/sync_peloton_to_garmin.yml` file. diff --git a/mkdocs/docs/install/index.md b/mkdocs/docs/install/index.md new file mode 100644 index 000000000..a368cd7c8 --- /dev/null +++ b/mkdocs/docs/install/index.md @@ -0,0 +1,32 @@ +# Install + +P2G can be run on all major operating systems. + +| Operating System | Support Garmin 2-Step Verification | +|:-------------------|:-----------------------------------| +| [Windows](#windows-quick-start) | yes | +| [Mac](#mac-quick-start) | yes | +| [Linux](#linux-quick-start) | yes | +| [I don't want to install anything](#github-actions)| no | + +## Windows Quick Start + +1. [Windows Executable](windows.md) - recommended unless you are comfortable with Docker on Windows +1. [Docker](docker.md) +1. [Build from Source](source.md) + +## Mac Quick Start + +1. [Docker](docker.md) +1. [Build from Source](source.md) + +## Linux Quick Start + +1. [Docker](docker.md) - recommended +1. [Build from Source](source.md) + +## GitHub Actions + +If you would rather not install anything on your computer, you can run P2G using a feature called `GitHub Actions`, this will require you to create an account on `GitHub`. Additionally, your Garmin account must *not* have Two Step Verification enabled. + +1. [GitHub Actions](github-action.md) diff --git a/mkdocs/docs/install/source.md b/mkdocs/docs/install/source.md new file mode 100644 index 000000000..6afdcc836 --- /dev/null +++ b/mkdocs/docs/install/source.md @@ -0,0 +1,51 @@ + +# Build from Source + +To compile and run P2G on your machine, follow the below steps. + +## Setup + +1. Install the latest [dotnet 7.0 SDK](https://dotnet.microsoft.com/download/dotnet/7.0) +1. Clone the GitHub repository locally +1. In the local repo, find the file named `configuration.example.json`. Make a copy of it and name it `configuration.local.json`. +1. Open a terminal and run the below one-time setup steps: + +```bash +> cd peloton-to-garmin +> dotnet restore +> dotnet build +``` + +## To run P2G + +### Console + +1. Move `configuration.local.json` into the `src/ConsoleClient` directory +1. Open `configuration.local.json` in a text editor of your choice and edit it to use your Peloton and Garmin credentials + +```bash +> dotnet run --project ./src/ConsoleClient/ConsoleClient.csproj +``` + +### Windows UI + +```bash +> dotnet run --project ./src/ClientUI/ClientUI.csproj +``` + +### Web UI + +```bash +> dotnet run --project ./src/WebUI/WebUI.csproj +> dotnet run --project ./src/Api/Api.csproj +``` + +## Updating + +```bash +> git fetch +> git pull +> cd peloton-to-garmin +> dotnet restore +> dotnet build +``` diff --git a/docs/install/windows.md b/mkdocs/docs/install/windows.md similarity index 53% rename from docs/install/windows.md rename to mkdocs/docs/install/windows.md index 4afca85d3..52261a107 100644 --- a/docs/install/windows.md +++ b/mkdocs/docs/install/windows.md @@ -1,48 +1,53 @@ ---- -layout: default -title: Windows -parent: Install -nav_order: 3 ---- - -# Windows - -For convenience a compiled windows executable is provided. This can easily be downloaded and run on your machine. - -1. Download and unzip the [latest stable release](https://github.com/philosowaffle/peloton-to-garmin/releases) -1. In the unzipped directory find the `configuration.local.json` and open it in a text editor of your choice - 1. Be sure to set your usernames and passwords in Garmin and Peloton config sections respectively. - 1. Save and close the file -1. Find the `PelotonToGarminConsole.exe` -1. Double click to run it! - -You can learn more about customizing your configuration file over in the [Configuration Section]({{ site.baseurl }}{% link configuration/index.md %}). - -## Updating - -1. Download and unzip the [latest stable release](https://github.com/philosowaffle/peloton-to-garmin/releases) -1. In the unzipped directory replace the `configuration.local.json` with your previous `configuration.local.json` file -1. Find the `PelotonToGarminConsole.exe` -1. Double click to run it! - -## Rolling back to a previous version - -1. Find the release you want from the [releases page](https://github.com/philosowaffle/peloton-to-garmin/releases) -1. Download and unzip the Windows exe from that relase (found in the `Assets` section) -1. In the unzipped directory replace the `configuration.local.json` with your previous `configuration.local.json` file -1. Find the `PelotonToGarminConsole.exe` -1. Double click to run it! - -## Available Versions - -P2G provides two different versions of the executable you can choose between: - -1. [The latest stable version](https://github.com/philosowaffle/peloton-to-garmin/releases) -1. [The latest dev version](https://github.com/philosowaffle/peloton-to-garmin/actions/workflows/publish_distros_latest.yml) - 1. Click on the first item in the list with a green checkmark, this will be the latest successful build. - 1. On the summary page, at the bottom you will see a section called `Artifacts` with various builds attached. Click on one of these builds to download for your operating system. - -## Limitations - -1. Does not truly run in the background, the program must be minimized to the the task bar if using it to automatically sync, and you must manually restart it if your computer reboots -1. No GUI....yet ;) \ No newline at end of file + +# Windows + +With P2G v4, there is now a Windows GUI application available for download. P2G does not install anything to your computer, everything it needs to run is self-contained in the folder you downloaded. This includes all of your settings and other configuration files. For this reason, + +1. You can always download and run a newer version of P2G without any risk of breaking your existing version. +1. P2G does not yet support multiple users, but you can have two instances of P2G on the same computer, each in a different folder, setup for a different user +1. To uninstall P2G simply delete its folder +1. You may wish to create a Desktop shortcut to the application for convenience + +![P2G UI Demo](../img/p2g_demo.gif "P2G UI Demo") + +## Install + +1. Download and unzip the [latest stable release](https://github.com/philosowaffle/peloton-to-garmin/releases) +1. Find the `ClientUI.exe` +1. Double click to run it! + +You can learn more about customizing your configuration over in the [Configuration Section](../configuration/index.md). + +## Updating + +1. Download and unzip the [latest stable release](https://github.com/philosowaffle/peloton-to-garmin/releases) +1. In the unzipped directory replace the `configuration.local.json` with your previous `configuration.local.json` file +1. In the unzipped directory copy over the `data` folder from your previous P2G install folder, this will preserve your settings +1. Find the `ClientUI.exe` +1. Double click to run it! + +## Rolling back to a previous version + +1. Find the release you want from the [releases page](https://github.com/philosowaffle/peloton-to-garmin/releases) +1. Download and unzip the Windows exe from that relase (found in the `Assets` section) +1. In the unzipped directory replace the `configuration.local.json` with your previous `configuration.local.json` file +1. In the unzipped directory copy over th `data` folder from your previous P2G install folder, this will preserve your settings +1. Find the `ClientUI.exe` +1. Double click to run it! + +!!! warning + + Attempting to use configuration or data from a later version of P2G with an older version is not guaranteed to work. You may need to reconfigure your instance. + +## Available Versions + +P2G provides two different versions of the executable you can choose between: + +1. [The latest stable version](https://github.com/philosowaffle/peloton-to-garmin/releases) +1. [The latest dev version](https://github.com/philosowaffle/peloton-to-garmin/actions/workflows/publish-latest.yaml) + 1. Click on the first item in the list with a green checkmark, this will be the latest successful build. + 1. On the summary page, at the bottom you will see a section called `Artifacts` with various builds attached. Click on one of these builds to download for your operating system. + +## Limitations + +1. Does not truly run in the background, the program must be minimized to the the task bar if using it to automatically sync, and you must manually restart it if your computer reboots diff --git a/docs/migration/migrate-v1-v2.md b/mkdocs/docs/migration/migrate-v1-v2.md similarity index 55% rename from docs/migration/migrate-v1-v2.md rename to mkdocs/docs/migration/migrate-v1-v2.md index 62d1890ad..1f2f378cb 100644 --- a/docs/migration/migrate-v1-v2.md +++ b/mkdocs/docs/migration/migrate-v1-v2.md @@ -1,9 +1,3 @@ ---- -layout: default -title: Migrating from V1 to V2 -parent: Migrating -nav_order: 1 ---- # Migrating from V1 to V2 @@ -20,7 +14,7 @@ Version 2 will not interfere with your Version 1 install, so if anything doesn't ### 2. Download v2 -1. Download and install v2, see [Install]({{ site.baseurl }}{% link install/index.md %}) +1. Download and install v2, see [Install](../install/index.md) ### 3. Migrate your config @@ -39,9 +33,9 @@ WorkoutTypes = cycling, strength | Property | New Config | Notes | |:-------------|:------------------|-------| -| Email | [Peloton Config]({{ site.baseurl }}{% link configuration/json.md %}#peloton-config).Email | | -| Password | [Peloton Config]({{ site.baseurl }}{% link configuration/json.md %}#peloton-config).Password | | -| WorkoutTypes | [Peloton Config]({{ site.baseurl }}{% link configuration/json.md %}#peloton-config).ExcludeWorkoutTypes | In v1 this was a list of workout types to **include**, in v2 this changes to a list of workout types to **exclude**. | +| Email | [Peloton Config](../configuration/json.md#peloton-config).Email | | +| Password | [Peloton Config](../configuration/json.md#peloton-config).Password | | +| WorkoutTypes | [Peloton Config](../configuration/json.md#peloton-config).ExcludeWorkoutTypes | In v1 this was a list of workout types to **include**, in v2 this changes to a list of workout types to **exclude**. | #### Garmin section @@ -54,9 +48,9 @@ Password = garminPassword | Property | New Config | Notes | |:-------------|:------------------|-------| -| Email | [Garmin Config]({{ site.baseurl }}{% link configuration/json.md %}#garmin-config).Email | | -| Password | [Garmin Config]({{ site.baseurl }}{% link configuration/json.md %}#garmin-config).Password | | -| UploadEnabled | [Garmin Config]({{ site.baseurl }}{% link configuration/json.md %}#peloton-config).Upload | You will additionally need to specify `FormatToUpload` if you have this enabled. | +| Email | [Garmin Config](../configuration/json.md#garmin-config).Email | | +| Password | [Garmin Config](../configuration/json.md#garmin-config).Password | | +| UploadEnabled | [Garmin Config](../configuration/json.md#peloton-config).Upload | You will additionally need to specify `FormatToUpload` if you have this enabled. | #### PTOG Section @@ -68,8 +62,8 @@ PollingIntervalSeconds = 600 | Property | New Config | Notes | |:-------------|:------------------|-------| -| EnablePolling | [App Config]({{ site.baseurl }}{% link configuration/json.md %}#app-config).EnablePolling | | -| PollingIntervalSeconds | [App Config]({{ site.baseurl }}{% link configuration/json.md %}#app-config).PollingIntervalSeconds | | +| EnablePolling | [App Config](../configuration/json.md#app-config).EnablePolling | | +| PollingIntervalSeconds | [App Config](../configuration/json.md#app-config).PollingIntervalSeconds | | #### Output Section @@ -87,12 +81,12 @@ ArchiveByType = true | Property | New Config | Notes | |:-------------|:------------------|-------| | Directory | none | | -| WorkingDirectory | [App Config]({{ site.baseurl }}{% link configuration/json.md %}#app-config).WorkingDirectory | | -| ArchiveDirectory | [App Config]({{ site.baseurl }}{% link configuration/json.md %}#app-config).OutputDirectory | | -| RetainFiles | [Format Config]({{ site.baseurl }}{% link configuration/json.md %}#app-config).SaveLocalCopy | | +| WorkingDirectory | [App Config](../configuration/json.md#app-config).WorkingDirectory | | +| ArchiveDirectory | [App Config](../configuration/json.md#app-config).OutputDirectory | | +| RetainFiles | [Format Config](../configuration/json.md#app-config).SaveLocalCopy | | | ArchiveFiles | none | | | SkipDownload | none | | -| ArchiveByType | [Format Config]({{ site.baseurl }}{% link configuration/json.md %}#app-config).[Fit,Tcx,Json] | Set the formats you want to save to true and then set `SaveLocalCopy: true` | +| ArchiveByType | [Format Config](../configuration/json.md#app-config).[Fit,Tcx,Json] | Set the formats you want to save to true and then set `SaveLocalCopy: true` | #### Logger Section @@ -104,8 +98,8 @@ LogLevel = INFO | Property | New Config | Notes | |:-------------|:------------------|-------| -| LogFile | [Observability Config]({{ site.baseurl }}{% link configuration/json.md %}#observability-config).Serilog.WriteTo.Args.Path | | -| LogLevel | [Observability Config]({{ site.baseurl }}{% link configuration/json.md %}#observability-config).Serilog.MinimumLevel | | +| LogFile | [Observability Config](../configuration/json.md#observability-config).Serilog.WriteTo.Args.Path | | +| LogLevel | [Observability Config](../configuration/json.md#observability-config).Serilog.MinimumLevel | | For the general use case, the below config should be sufficient. @@ -139,4 +133,4 @@ PauseOnFinish = true | Property | New Config | Notes | |:-------------|:------------------|-------| -| PauseOnFinish | [App Config]({{ site.baseurl }}{% link configuration/json.md %}#app-config).CloseWindowOnFinish | | +| PauseOnFinish | [App Config](../configuration/json.md#app-config).CloseWindowOnFinish | | diff --git a/docs/migration/migrate-v2-v3.md b/mkdocs/docs/migration/migrate-v2-v3.md similarity index 71% rename from docs/migration/migrate-v2-v3.md rename to mkdocs/docs/migration/migrate-v2-v3.md index 9c057e2d8..91d63f1a2 100644 --- a/docs/migration/migrate-v2-v3.md +++ b/mkdocs/docs/migration/migrate-v2-v3.md @@ -1,9 +1,3 @@ ---- -layout: default -title: Migrating from V2 to V3 -parent: Migrating -nav_order: 2 ---- # Migrating from V2 to V3 @@ -15,7 +9,7 @@ No changes are needed. ## Docker -No changes are needed, though you may wish to switch over to the [Web UI image tags]({{ site.baseurl }}{% link install/docker-webui.md %}). +No changes are needed, though you may wish to switch over to the [Web UI image tags](../install/docker-webui.md). ## Source diff --git a/mkdocs/docs/migration/migrate-v3-v4.md b/mkdocs/docs/migration/migrate-v3-v4.md new file mode 100644 index 000000000..592c002e9 --- /dev/null +++ b/mkdocs/docs/migration/migrate-v3-v4.md @@ -0,0 +1,28 @@ + +# Migrating from V3 to V4 + +Version 3 only includes one breaking change that some users will need to account for. Based on your install type you can find what changes need to be made below. + +## Windows Exe + +The P2G windows exe now provides a proper user interface. You can migrate to this new version simply by following the [install steps](../install/windows.md). You will need to re-configure P2G using the user interface as your settings will not migrate over. + +There is no risk installing v4 and trying it out. Your previous install will continue to work while you test out v4. When you're satisfied with v4 you can delete your previous version of P2G. + +## Docker Headless + +No specific migration steps are needed, however please take note of the [breaking changes](https://github.com/philosowaffle/peloton-to-garmin/releases/tag/v3.6.0) in case any of these impact your setup. + +## Docker WebUI + +No specific migration steps are needed, however please take note of the [breaking changes](https://github.com/philosowaffle/peloton-to-garmin/releases/tag/v3.6.0) in case any of these impact your setup. + +## Docker API + +No specific migration steps are needed, however please take note of the [breaking changes](https://github.com/philosowaffle/peloton-to-garmin/releases/tag/v3.6.0) in case any of these impact your setup. + +## Source + +1. Install the latest [dotnet 7.0 SDK](https://dotnet.microsoft.com/download/dotnet/7.0) + +Please take note of the [breaking changes](https://github.com/philosowaffle/peloton-to-garmin/releases/tag/v3.6.0) in case any of these impact your setup. diff --git a/docs/migration/index.md b/mkdocs/docs/migration/migrations.md similarity index 51% rename from docs/migration/index.md rename to mkdocs/docs/migration/migrations.md index bcfed8c27..c07985c00 100644 --- a/docs/migration/index.md +++ b/mkdocs/docs/migration/migrations.md @@ -1,13 +1,8 @@ ---- -layout: default -title: Migrating -nav_order: 4 -has_children: true ---- # Migrating from older P2G Versions P2G uses major release versions to designate when a breaking or non-backwards compatible change has been made. For this reason, when moving between major versions there may be some one time steps that need to be followed. -1. [Migrating from V1 to V2]({{ site.baseurl }}{% link migration/migrate-v1-v2.md %}) -1. [Migrating from V2 to V3]({{ site.baseurl }}{% link migration/migrate-v2-v3.md %}) +1. [Migrating from V1 to V2](migrate-v1-v2.md) +1. [Migrating from V2 to V3](migrate-v2-v3.md) +1. [Migrating from V3 to V4](migrate-v3-v4.md) diff --git a/docs/observability.md b/mkdocs/docs/observability.md similarity index 86% rename from docs/observability.md rename to mkdocs/docs/observability.md index a831e8540..35e5de855 100644 --- a/docs/observability.md +++ b/mkdocs/docs/observability.md @@ -1,12 +1,7 @@ ---- -layout: default -title: Observability -nav_order: 5 ---- # Observability -P2G supports publishing Open Telemetry metrics. These metrics can be setup and configured in the [Observability config section]({{ site.baseurl }}{% link configuration/json.md %}#observability-config). P2G publishes the following: +P2G supports publishing Open Telemetry metrics. These metrics can be setup and configured in the [Observability config section](configuration/json.md#observability-config). P2G publishes the following: 1. Logs via Serilog. Logs can be sunk to a variety of sources including Console, File, ElasticSearch, and Grafana Loki. 1. Metrics via Prometheus. Metrics are exposed on a standard `/metrics` endpoint and the port is configurable. diff --git a/mkdocs/mkdocs.yml b/mkdocs/mkdocs.yml new file mode 100644 index 000000000..cec294e5d --- /dev/null +++ b/mkdocs/mkdocs.yml @@ -0,0 +1,51 @@ +site_name: Peloton To Garmin +site_description: Convert workout data from Peloton into JSON/TCX/FIT files that can be uploaded to Garmin Connect +site_author: philosowaffle +site_url: 'https://philosowaffle.github.io/peloton-to-garmin/' + +repo_url: https://github.com/philosowaffle/peloton-to-garmin +edit_uri: /tree/master/mkdocs/docs + +extra: + version: + provider: mike + +theme: + name: material + logo: img/256x256.png + favicon: img/favicon.ico + palette: + scheme: slate + features: + - navigation.tabs + - navigation.path + - navigation.top + - naviation.sections + - navigation.indexes + +markdown_extensions: + - admonition + - pymdownx.details + - pymdownx.superfences + +nav: + - Home: index.md + - Features: features.md + - Install: + - Install: install/index.md + - Docker: + - Docker: install/docker.md + - 'Web UI': install/docker-webui.md + - Headless: install/docker-headless.md + - 'Windows App': install/windows.md + - Source: install/source.md + - 'GitHub Actions': install/github-action.md + - Configuration: + - Configuration: configuration/index.md + - 'User Interface and Json': configuration/json.md + - Observability: observability.md + - Help: + - Help: help.md + - 'F.A.Q': faq.md + - Migration: migration/migrations.md + - Contributing: contributing.md \ No newline at end of file diff --git a/mkdocs/readme.md b/mkdocs/readme.md new file mode 100644 index 000000000..45e8a3db8 --- /dev/null +++ b/mkdocs/readme.md @@ -0,0 +1,20 @@ +# Welcome to MkDocs + +For full documentation visit [mkdocs.org](https://www.mkdocs.org). +MkDocs: https://www.mkdocs.org/user-guide/installation/ +Material design: https://squidfunk.github.io/mkdocs-material/getting-started/ +Mike: https://github.com/jimporter/mike + +## Commands + +* `mkdocs new [dir-name]` - Create a new project. +* `mkdocs serve` - Start the live-reloading docs server. +* `mkdocs build` - Build the documentation site. +* `mkdocs -h` - Print help message and exit. + +## Project layout + + mkdocs.yml # The configuration file. + docs/ + index.md # The documentation homepage. + ... # Other markdown pages, images and other files. diff --git a/python/lib/garminClient.py b/python/lib/garminClient.py deleted file mode 100644 index e75414410..000000000 --- a/python/lib/garminClient.py +++ /dev/null @@ -1,67 +0,0 @@ -import logging -import time -import os -import pkgutil -import requests -import tempfile -from datetime import datetime -from garmin_uploader.workflow import Workflow -from garmin_uploader.workflow import User -from garmin_uploader.workflow import Activity - -cert_data = pkgutil.get_data('certifi', 'cacert.pem') -handle = tempfile.NamedTemporaryFile(delete=False) -handle.write(cert_data) -handle.flush() -os.environ['REQUESTS_CA_BUNDLE'] = handle.name - -class GarminClient: - - """Main Garmin Api Class""" - def __init__(self, user_email, user_password): - self.logger = logging.getLogger('peloton-to-garmin.garminClient') - - assert user_email is not None and user_email != "", "Please specify your Garmin login email." - assert user_password is not None and user_password != "", "Please specify your Garmin login password." - - self.user = User(user_email, user_password) - self.activities = {} - self.last_request = 0.0 - - def addActivity(self, path, activityType=None, activityName=None, activityId=None): - index = activityId - if index is None: - index = len(self.activities) + 1 - - self.activities[index] = Activity(path, activityName, activityType) - - def uploadToGarmin(self, uploadHistoryTable=None): - assert self.user.authenticate(), "Failed to authenticate garmin user." - - for activityId in self.activities: - try: - self.rate_limit() - activityName = self.activities[activityId].name - - self.logger.info("Uploading activity: {}".format(self.activities[activityId].path)) - self.activities[activityId].upload(self.user) - - if uploadHistoryTable is not None: - uploadHistoryTable.insert({'workoutId': activityId, 'title': activityName, 'uploadDt': datetime.now().strftime("%Y-%m-%d %H:%M:%S")}) - - self.logger.info("Uploaded activity: {}".format(activityName)) - except Exception as e: - self.logger.error("Failed to upload activity: {} to Garmin Connect with error {}".format(self.activities[activityId].path, e)) - - def rate_limit(self): - min_period = 1 - if not self.last_request: - self.last_request = 0.0 - - wait_time = max(0, min_period - (time.time() - self.last_request)) - if wait_time <= 0: - return - time.sleep(wait_time) - - self.last_request = time.time() - self.logger.debug("Rate limiting for %f" % wait_time) \ No newline at end of file diff --git a/python/requirements.txt b/python/requirements.txt deleted file mode 100644 index cc92275a3..000000000 --- a/python/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -# garmin_uploader>=1.0.10 -# Patch cloudscrapper fix for garmin auth failures -https://github.com/La0/garmin-uploader/archive/cloudscraper.zip \ No newline at end of file diff --git a/python/upload.py b/python/upload.py deleted file mode 100644 index 89f13e1e9..000000000 --- a/python/upload.py +++ /dev/null @@ -1,21 +0,0 @@ -import argparse -from lib import garminClient - -if __name__ == "__main__": - args = argparse.ArgumentParser() - args.add_argument("-ge", "--garmin_email",help="Garmin email address for upload to Garmin",dest="garmin_email",type=str, required=True) - args.add_argument("-gp", "--garmin_password",help="Garmin password for upload to Garmin",dest="garmin_password",type=str, required=True) - args.add_argument("-f", "--files", help="Path to file to upload", dest="files", nargs="+", required=True) - - argResults = args.parse_args() - - garmin_email = argResults.garmin_email - garmin_password = argResults.garmin_password - files = argResults.files - - garminUploader = garminClient.GarminClient(garmin_email, garmin_password) - - for file in files: - garminUploader.addActivity(file) - - garminUploader.uploadToGarmin() \ No newline at end of file diff --git a/src/Api.Contract/Api.Contract.csproj b/src/Api.Contract/Api.Contract.csproj new file mode 100644 index 000000000..42b6e2d5f --- /dev/null +++ b/src/Api.Contract/Api.Contract.csproj @@ -0,0 +1,13 @@ + + + + net7.0 + enable + enable + + + + + + + diff --git a/src/Common/Dto/Api/GarminAuthenticationContracts.cs b/src/Api.Contract/GarminAuthenticationContracts.cs similarity index 69% rename from src/Common/Dto/Api/GarminAuthenticationContracts.cs rename to src/Api.Contract/GarminAuthenticationContracts.cs index 39cb5c0bb..674fcf42d 100644 --- a/src/Common/Dto/Api/GarminAuthenticationContracts.cs +++ b/src/Api.Contract/GarminAuthenticationContracts.cs @@ -1,8 +1,8 @@ -namespace Common.Dto.Api; +namespace Api.Contract; public record GarminAuthenticationMfaTokenPostRequest { - public string MfaToken { get; set; } + public string? MfaToken { get; set; } } public record GarminAuthenticationGetResponse diff --git a/src/Api.Contract/IError.cs b/src/Api.Contract/IError.cs new file mode 100644 index 000000000..b4da01165 --- /dev/null +++ b/src/Api.Contract/IError.cs @@ -0,0 +1,34 @@ +namespace Api.Contract; + +public interface IErrorResponse +{ + public string Message { get; set; } + public ErrorCode Code { get; set; } +} + +public class ErrorResponse : IErrorResponse +{ + public string Message { get; set; } + public ErrorCode Code { get; set; } + public Exception? Exception { get; set; } + + public ErrorResponse(string message, Exception? ex = null) + { + Message = message; + } + + public ErrorResponse(string message, ErrorCode code, Exception? ex = null) + { + Message = message; + Code = code; + } +} + +public enum ErrorCode : ushort +{ + None = 0, + + NeedToInitGarminMFAAuth = 100, + UnexpectedGarminMFA = 101, + InvalidGarminCredentials = 102, +} diff --git a/src/Common/Dto/Api/IPaging.cs b/src/Api.Contract/IPaging.cs similarity index 66% rename from src/Common/Dto/Api/IPaging.cs rename to src/Api.Contract/IPaging.cs index 1a7161cc0..6683d9f5d 100644 --- a/src/Common/Dto/Api/IPaging.cs +++ b/src/Api.Contract/IPaging.cs @@ -1,8 +1,7 @@ using Common.Helpers; using Microsoft.AspNetCore.Mvc; -using System.Collections.Generic; -namespace Common.Dto.Api; +namespace Api.Contract; public interface IPagingRequest { @@ -38,19 +37,4 @@ public abstract class PagingResponseBase : IPagingResponse public abstract ICollection Items { get; set; } -} - -public static class PagingExtensions -{ - public static bool IsValid(this IPagingRequest request, out ActionResult result) - { - if (request.PageSize.CheckIsLessThanOrEqualTo(0, nameof(request.PageSize), out result)) - return false; - - if (request.PageIndex.CheckIsLessThan(0, nameof(request.PageIndex), out result)) - return false; - - return true; - } -} - +} \ No newline at end of file diff --git a/src/Common/Dto/Api/PelotonAnnualChallengeContracts.cs b/src/Api.Contract/PelotonAnnualChallengeContracts.cs similarity index 74% rename from src/Common/Dto/Api/PelotonAnnualChallengeContracts.cs rename to src/Api.Contract/PelotonAnnualChallengeContracts.cs index 5a44fe7ac..07bdc1c45 100644 --- a/src/Common/Dto/Api/PelotonAnnualChallengeContracts.cs +++ b/src/Api.Contract/PelotonAnnualChallengeContracts.cs @@ -1,23 +1,28 @@ -using System.Collections.Generic; - -namespace Common.Dto.Api; - -public record ProgressGetResponse -{ - public double EarnedMinutes { get; init; } - public ICollection Tiers { get; init; } -} - -public record Tier -{ - public string BadgeUrl { get; init; } - public string Title { get; init; } - public double RequiredMinutes { get; init; } - public bool HasEarned { get; init; } - public float PercentComplete { get; init; } - public bool IsOnTrackToEarndByEndOfYear { get; init; } - public double MinutesBehindPace { get; init; } - public double MinutesAheadOfPace { get; init; } - public double MinutesNeededPerDay { get; init; } - public double MinutesNeededPerWeek { get; init; } +namespace Api.Contract; + +public record ProgressGetResponse +{ + public ProgressGetResponse() + { + Tiers = new List(); + } + + public double EarnedMinutes { get; init; } + public ICollection Tiers { get; init; } +} + +public record Tier +{ + public Tier() { } + + public string? BadgeUrl { get; init; } + public string? Title { get; init; } + public double RequiredMinutes { get; init; } + public bool HasEarned { get; init; } + public float PercentComplete { get; init; } + public bool IsOnTrackToEarndByEndOfYear { get; init; } + public double MinutesBehindPace { get; init; } + public double MinutesAheadOfPace { get; init; } + public double MinutesNeededPerDay { get; init; } + public double MinutesNeededPerWeek { get; init; } } \ No newline at end of file diff --git a/src/Common/Dto/Api/PelotonWorkoutsRequest.cs b/src/Api.Contract/PelotonWorkoutsRequest.cs similarity index 81% rename from src/Common/Dto/Api/PelotonWorkoutsRequest.cs rename to src/Api.Contract/PelotonWorkoutsRequest.cs index 1dd9ac269..6a8587a5a 100644 --- a/src/Common/Dto/Api/PelotonWorkoutsRequest.cs +++ b/src/Api.Contract/PelotonWorkoutsRequest.cs @@ -1,8 +1,7 @@ -using Common.Dto.Peloton; -using System; -using System.Collections.Generic; +using Common.Dto; +using Common.Dto.Peloton; -namespace Common.Dto.Api; +namespace Api.Contract; public class PelotonWorkoutsGetRequest : IPagingRequest { @@ -60,13 +59,13 @@ public PelotonWorkout(Workout workout) ImageUrl = workout.Ride?.Image_Url; } - public string Id { get; init; } - public string Status { get; init; } - public string ClassTypeTitle { get; init; } - public string WorkoutTitle { get; init; } - public string Name { get; init; } + public string? Id { get; init; } + public string? Status { get; init; } + public string? ClassTypeTitle { get; init; } + public string? WorkoutTitle { get; init; } + public string? Name { get; init; } public long CreatedAt { get; init; } - public Uri ImageUrl { get; set; } + public Uri? ImageUrl { get; set; } } diff --git a/src/Common/Dto/Api/SettingsContracts.cs b/src/Api.Contract/SettingsContracts.cs similarity index 75% rename from src/Common/Dto/Api/SettingsContracts.cs rename to src/Api.Contract/SettingsContracts.cs index 22ef9b832..05b97be51 100644 --- a/src/Common/Dto/Api/SettingsContracts.cs +++ b/src/Api.Contract/SettingsContracts.cs @@ -1,6 +1,7 @@ -using System.Collections.Generic; +using Common; +using Common.Dto; -namespace Common.Dto.Api; +namespace Api.Contract; public class SettingsGetResponse { @@ -29,11 +30,10 @@ public SettingsGetResponse(Settings settings) Garmin = new SettingsGarminGetResponse() { Email = settings.Garmin.Email, - Password = null, + Password = null, TwoStepVerificationEnabled = settings.Garmin.TwoStepVerificationEnabled, FormatToUpload = settings.Garmin.FormatToUpload, Upload = settings.Garmin.Upload, - UploadStrategy = settings.Garmin.UploadStrategy, IsPasswordSet = !string.IsNullOrEmpty(settings.Garmin.Password) }; } @@ -47,38 +47,41 @@ public SettingsGetResponse(Settings settings) public class SettingsGarminGetResponse { public bool IsPasswordSet { get; set; } - public string Email { get; set; } - public string Password { get; set; } + public string? Email { get; set; } + public string? Password { get; set; } public bool TwoStepVerificationEnabled { get; set; } public bool Upload { get; set; } public FileFormat FormatToUpload { get; set; } - public UploadStrategy UploadStrategy { get; set; } } public class SettingsGarminPostRequest { - public string Email { get; set; } - public string Password { get; set; } + public string? Email { get; set; } + public string? Password { get; set; } public bool TwoStepVerificationEnabled { get; set; } public bool Upload { get; set; } public FileFormat FormatToUpload { get; set; } - public UploadStrategy UploadStrategy { get; set; } } public class SettingsPelotonGetResponse { + public SettingsPelotonGetResponse() + { + ExcludeWorkoutTypes = new List(); + } + public bool IsPasswordSet { get; set; } - public string Email { get; set; } - public string Password { get; set; } + public string? Email { get; set; } + public string? Password { get; set; } public ICollection ExcludeWorkoutTypes { get; set; } public int NumWorkoutsToDownload { get; set; } } public class SettingsPelotonPostRequest { - public string Email { get; set; } - public string Password { get; set; } - public ICollection ExcludeWorkoutTypes { get; set; } + public string? Email { get; set; } + public string? Password { get; set; } + public ICollection? ExcludeWorkoutTypes { get; set; } public int NumWorkoutsToDownload { get; set; } } @@ -95,9 +98,9 @@ public static SettingsPelotonPostRequest Map(this SettingsPelotonGetResponse res }; } - public static Common.Peloton Map(this SettingsPelotonPostRequest request) + public static Peloton Map(this SettingsPelotonPostRequest request) { - return new Common.Peloton() + return new Peloton() { Email = request.Email, Password = request.Password, @@ -115,20 +118,18 @@ public static SettingsGarminPostRequest Map(this SettingsGarminGetResponse respo TwoStepVerificationEnabled = response.TwoStepVerificationEnabled, FormatToUpload = response.FormatToUpload, Upload = response.Upload, - UploadStrategy = response.UploadStrategy, }; } - public static Common.Garmin Map(this SettingsGarminPostRequest request) + public static Garmin Map(this SettingsGarminPostRequest request) { - return new Common.Garmin() + return new Garmin() { Email = request.Email, Password = request.Password, TwoStepVerificationEnabled = request.TwoStepVerificationEnabled, FormatToUpload = request.FormatToUpload, Upload = request.Upload, - UploadStrategy = request.UploadStrategy, }; } } \ No newline at end of file diff --git a/src/Common/Dto/Api/SyncContracts.cs b/src/Api.Contract/SyncContracts.cs similarity index 94% rename from src/Common/Dto/Api/SyncContracts.cs rename to src/Api.Contract/SyncContracts.cs index f2c24712b..f9a108a07 100644 --- a/src/Common/Dto/Api/SyncContracts.cs +++ b/src/Api.Contract/SyncContracts.cs @@ -1,8 +1,6 @@ using Common.Database; -using System; -using System.Collections.Generic; -namespace Common.Dto.Api; +namespace Api.Contract; public record SyncGetResponse { diff --git a/src/Common/Dto/Api/SystemInfoRequest.cs b/src/Api.Contract/SystemInfoRequest.cs similarity index 67% rename from src/Common/Dto/Api/SystemInfoRequest.cs rename to src/Api.Contract/SystemInfoRequest.cs index ad4541c6b..25e849745 100644 --- a/src/Common/Dto/Api/SystemInfoRequest.cs +++ b/src/Api.Contract/SystemInfoRequest.cs @@ -1,6 +1,6 @@ -namespace Common.Dto.Api; +namespace Api.Contract; -public class SystemInfoGetRequest +public record SystemInfoGetRequest { /// /// Whether or not to check if a new P2G update is available. @@ -9,7 +9,7 @@ public class SystemInfoGetRequest public bool CheckForUpdate { get; set; } } -public class SystemInfoGetResponse +public record SystemInfoGetResponse { public SystemInfoGetResponse() { @@ -23,6 +23,8 @@ public SystemInfoGetResponse() Donate = string.Empty; Issues = string.Empty; Api = string.Empty; + OutputDirectory = string.Empty; + TempDirectory = string.Empty; LatestVersionInformation = new (); } @@ -38,7 +40,9 @@ public SystemInfoGetResponse() public string Issues { get; set; } public string Api { get; set; } public bool? NewerVersionAvailable { get; set; } - public LatestVersionInformation LatestVersionInformation { get; set; } + public LatestVersionInformation? LatestVersionInformation { get; set; } + public string OutputDirectory { get; set; } + public string TempDirectory { get; set; } } public class LatestVersionInformation @@ -47,11 +51,18 @@ public LatestVersionInformation() { LatestVersion = string.Empty; ReleaseUrl = string.Empty; + ReleaseDate = string.Empty; Description = string.Empty; } - public string LatestVersion { get; set; } - public string ReleaseDate { get; set; } - public string ReleaseUrl { get; set; } - public string Description { get; set; } + public string? LatestVersion { get; set; } + public string? ReleaseDate { get; set; } + public string? ReleaseUrl { get; set; } + public string? Description { get; set; } } + + +public class SystemInfoLogsGetResponse +{ + public string? LogText { get; set; } +} \ No newline at end of file diff --git a/src/Api.Service/Api.Service.csproj b/src/Api.Service/Api.Service.csproj new file mode 100644 index 000000000..c98317ca0 --- /dev/null +++ b/src/Api.Service/Api.Service.csproj @@ -0,0 +1,19 @@ + + + + net7.0 + enable + enable + + + + + + + + + + + + + diff --git a/src/Api.Service/ApiStartupServices.cs b/src/Api.Service/ApiStartupServices.cs new file mode 100644 index 000000000..0c1426dc1 --- /dev/null +++ b/src/Api.Service/ApiStartupServices.cs @@ -0,0 +1,64 @@ +using Common.Database; +using Common.Service; +using Common; +using Conversion; +using Garmin; +using Microsoft.Extensions.Caching.Memory; +using Peloton.AnnualChallenge; +using Peloton; +using Sync; +using Philosowaffle.Capability.ReleaseChecks; +using Microsoft.Extensions.DependencyInjection; +using Api.Services; +using Garmin.Auth; +using Api.Service; + +namespace SharedStartup; + +public static class ApiStartupServices +{ + public static void ConfigureP2GApiServices(this IServiceCollection services) + { + // CACHE + services.AddSingleton(); + + // CONVERT + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + + // GARMIN + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + + // IO + services.AddSingleton(); + + // MIGRATIONS + services.AddSingleton(); + + // PELOTON + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + + // RELEASE CHECKS + services.AddGitHubReleaseChecker(); + + // SETTINGS + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + + // SYNC + services.AddSingleton(); + services.AddSingleton(); + + // SYSTEM INFO + services.AddSingleton(); + + // USERS + services.AddSingleton(); + } +} diff --git a/src/Api.Service/Helpers/Guard.cs b/src/Api.Service/Helpers/Guard.cs new file mode 100644 index 000000000..107177314 --- /dev/null +++ b/src/Api.Service/Helpers/Guard.cs @@ -0,0 +1,84 @@ +using Api.Contract; + +namespace Api.Service.Helpers; + +public static class Guard +{ + public static bool IsNull(this T input, string name, out ErrorResponse? result, string? errorMessage = null) + { + result = null; + + if (input is null) + { + result = new ErrorResponse(errorMessage ?? $"{name} must not be null."); + return true; + } + + return false; + } + + public static bool CheckIsNullOrEmpty(this string input, string name, out ErrorResponse? result, string? errorMessage = null) + { + result = null; + + if (string.IsNullOrEmpty(input)) + { + result = new ErrorResponse(errorMessage ?? $"{name} must not be null or empty."); + return true; + } + + return false; + } + + public static bool CheckIsLessThanOrEqualTo(this int input, int limit, string name, out ErrorResponse? result, string? errorMessage = null) + { + result = null; + + if (input <= limit) + { + result = new ErrorResponse(errorMessage ?? $"{name} must be greater than {limit}."); + return true; + } + + return false; + } + + public static bool CheckIsLessThan(this int input, int limit, string name, out ErrorResponse? result, string? errorMessage = null) + { + result = null; + + if (input < limit) + { + result = new ErrorResponse(errorMessage ?? $"{name} must be greater than or equal to {limit}."); + return true; + } + + return false; + } + + public static bool DoesNotHaveAny(this ICollection input, string name, out ErrorResponse? result, string? errorMessage = null) + { + result = null; + + if (input is null || !input.Any()) + { + result = new ErrorResponse(errorMessage ?? $"{name} must not be empty."); + return true; + } + + return false; + } + + public static bool IsAfter(this DateTime input, DateTime limit, string name, out ErrorResponse? result, string? errorMessage = null) + { + result = null; + + if (input > limit) + { + result = new ErrorResponse(errorMessage ?? $"{name} must be before {limit}."); + return true; + } + + return false; + } +} diff --git a/src/Api.Service/Helpers/PagingExtensions.cs b/src/Api.Service/Helpers/PagingExtensions.cs new file mode 100644 index 000000000..3ab4950d0 --- /dev/null +++ b/src/Api.Service/Helpers/PagingExtensions.cs @@ -0,0 +1,17 @@ +using Api.Contract; + +namespace Api.Service.Helpers; + +public static class PagingExtensions +{ + public static bool IsValid(this IPagingRequest request, out ErrorResponse? result) + { + if (request.PageSize.CheckIsLessThanOrEqualTo(0, nameof(request.PageSize), out result)) + return false; + + if (request.PageIndex.CheckIsLessThan(0, nameof(request.PageIndex), out result)) + return false; + + return true; + } +} \ No newline at end of file diff --git a/src/Api.Service/Helpers/ServiceResponseExtensions.cs b/src/Api.Service/Helpers/ServiceResponseExtensions.cs new file mode 100644 index 000000000..e9a2301b1 --- /dev/null +++ b/src/Api.Service/Helpers/ServiceResponseExtensions.cs @@ -0,0 +1,30 @@ +using Api.Contract; +using Common.Dto; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +namespace Api.Service.Helpers; + +public static class ServiceResultExtensions +{ + public static bool IsErrored(this IServiceResult serviceResult) => !serviceResult.Successful; + + public static ActionResult GetResultForError(this IServiceResult serviceResult) + { + if (serviceResult.Error is null) + return new ObjectResult(new ErrorResponse($"Unexpected error occurred.")) + { + StatusCode = StatusCodes.Status500InternalServerError + }; + + if (serviceResult.Error.IsServerException) + { + return new ObjectResult(new ErrorResponse(serviceResult.Error.Message)) + { + StatusCode = StatusCodes.Status500InternalServerError + }; + } + + return new BadRequestObjectResult(new ErrorResponse(serviceResult.Error.Message)); + } +} \ No newline at end of file diff --git a/src/Api.Service/Mappers/AnnualChallengeMapper.cs b/src/Api.Service/Mappers/AnnualChallengeMapper.cs new file mode 100644 index 000000000..9973ff220 --- /dev/null +++ b/src/Api.Service/Mappers/AnnualChallengeMapper.cs @@ -0,0 +1,23 @@ +using Api.Contract; + +namespace Api.Service.Mappers; + +public static class AnnualChallengeMapper +{ + public static Tier Map(this Peloton.AnnualChallenge.Tier t) + { + return new Tier() + { + BadgeUrl = t.BadgeUrl, + Title = t.Title, + RequiredMinutes = t.RequiredMinutes, + HasEarned = t.HasEarned, + PercentComplete = Convert.ToSingle(t.PercentComplete * 100), + IsOnTrackToEarndByEndOfYear = t.IsOnTrackToEarndByEndOfYear, + MinutesBehindPace = t.MinutesBehindPace, + MinutesAheadOfPace = t.MinutesAheadOfPace, + MinutesNeededPerDay = t.MinutesNeededPerDay, + MinutesNeededPerWeek = t.MinutesNeededPerWeek, + }; + } +} diff --git a/src/Api.Service/SettingsUpdaterService.cs b/src/Api.Service/SettingsUpdaterService.cs new file mode 100644 index 000000000..f8169f1fe --- /dev/null +++ b/src/Api.Service/SettingsUpdaterService.cs @@ -0,0 +1,141 @@ +using Api.Contract; +using Common; +using Common.Dto; +using Common.Service; +using Common.Stateful; + +namespace Api.Service; + +public interface ISettingsUpdaterService +{ + Task> UpdateAppSettingsAsync(App updatedAppSettings); + Task> UpdatePelotonSettingsAsync(SettingsPelotonPostRequest updatedPelotonSettings); + Task> UpdateFormatSettingsAsync(Format updatedFormatSettings); + Task> UpdateGarminSettingsAsync(SettingsGarminPostRequest updatedGarminSettings); +} +public class SettingsUpdaterService : ISettingsUpdaterService +{ + private readonly IFileHandling _fileHandler; + private readonly ISettingsService _settingsService; + + public SettingsUpdaterService(IFileHandling fileHandler, ISettingsService settingsService) + { + _fileHandler = fileHandler; + _settingsService = settingsService; + } + + public async Task> UpdateAppSettingsAsync(App updatedAppSettings) + { + var result = new ServiceResult(); + + if (updatedAppSettings is null) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Updated AppSettings must not be null or empty." }; + return result; + } + + var settings = await _settingsService.GetSettingsAsync(); + settings.App = updatedAppSettings; + + if (settings.Garmin.TwoStepVerificationEnabled && settings.App.EnablePolling) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Automatic Syncing cannot be enabled when Garmin TwoStepVerification is enabled." }; + return result; + } + + await _settingsService.UpdateSettingsAsync(settings); + var updatedSettings = await _settingsService.GetSettingsAsync(); + + result.Result = updatedSettings.App; + return result; + } + + public async Task> UpdateFormatSettingsAsync(Format updatedFormatSettings) + { + var result = new ServiceResult(); + + if (updatedFormatSettings is null) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Updated Format Settings must not be null or empty." }; + return result; + } + + if (!string.IsNullOrWhiteSpace(updatedFormatSettings.DeviceInfoPath) + && !_fileHandler.FileExists(updatedFormatSettings.DeviceInfoPath)) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "The DeviceInfo path is either not accessible or does not exist." }; + return result; + } + + var settings = await _settingsService.GetSettingsAsync(); + settings.Format = updatedFormatSettings; + + await _settingsService.UpdateSettingsAsync(settings); + var updatedSettings = await _settingsService.GetSettingsAsync(); + + result.Result = updatedSettings.Format; + return result; + } + + public async Task> UpdateGarminSettingsAsync(SettingsGarminPostRequest updatedGarminSettings) + { + var result = new ServiceResult(); + + if (updatedGarminSettings is null) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Updated Garmin Settings must not be null or empty." }; + return result; + } + + var settings = await _settingsService.GetSettingsAsync(); + settings.Garmin = updatedGarminSettings.Map(); + + if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled && settings.App.EnablePolling) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Garmin TwoStepVerification cannot be enabled while Automatic Syncing is enabled. Please disable Automatic Syncing first." }; + return result; + } + + await _settingsService.UpdateSettingsAsync(settings); + var updatedSettings = await _settingsService.GetSettingsAsync(); + + result.Result = new SettingsGetResponse(updatedSettings).Garmin; + return result; + } + + public async Task> UpdatePelotonSettingsAsync(SettingsPelotonPostRequest updatedPelotonSettings) + { + var result = new ServiceResult(); + + if (updatedPelotonSettings is null) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Updated PelotonSettings must not be null or empty." }; + return result; + } + + var settings = await _settingsService.GetSettingsAsync(); + + if (updatedPelotonSettings.NumWorkoutsToDownload <= 0 + && settings.App.EnablePolling) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Number of workouts to download must but greater than 0 when Automatic Polling is enabled." }; + return result; + } + + settings.Peloton = updatedPelotonSettings.Map(); + + await _settingsService.UpdateSettingsAsync(settings); + var updatedSettings = await _settingsService.GetSettingsAsync(); + + result.Result = new SettingsGetResponse(updatedSettings).Peloton; + return result; + } +} diff --git a/src/Api.Service/SystemInfoService.cs b/src/Api.Service/SystemInfoService.cs new file mode 100644 index 000000000..b8af4483f --- /dev/null +++ b/src/Api.Service/SystemInfoService.cs @@ -0,0 +1,95 @@ +using Api.Contract; +using Common; +using Common.Dto; +using Common.Observe; +using Common.Service; +using Core.GitHub; +using Philosowaffle.Capability.ReleaseChecks.Model; + +namespace Api.Services; + +public interface ISystemInfoService +{ + Task GetAsync(SystemInfoGetRequest request, string? scheme = null, string? host = null); + Task> GetLogsAsync(); +} + +public class SystemInfoService : ISystemInfoService +{ + private readonly IGitHubReleaseCheckService _gitHubService; + private readonly ISettingsService _settingsService; + + public SystemInfoService(IGitHubReleaseCheckService gitHubService, ISettingsService settingsService) + { + _gitHubService = gitHubService; + _settingsService = settingsService; + } + + public async Task GetAsync(SystemInfoGetRequest request, string? scheme = null, string? host = null) + { + LatestReleaseInformation? versionInformation = null; + + if (request.CheckForUpdate) + versionInformation = await _gitHubService.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion); + + var settings = await _settingsService.GetSettingsAsync(); + + return new SystemInfoGetResponse() + { + OperatingSystem = SystemInformation.OS, + OperatingSystemVersion = SystemInformation.OSVersion, + + RunTimeVersion = SystemInformation.RunTimeVersion, + + Version = Constants.AppVersion, + NewerVersionAvailable = versionInformation?.IsReleaseNewerThanInstalledVersion, + LatestVersionInformation = request.CheckForUpdate ? new LatestVersionInformation() + { + LatestVersion = versionInformation?.LatestVersion, + ReleaseDate = versionInformation?.ReleaseDate.ToString(), + ReleaseUrl = versionInformation?.ReleaseUrl, + Description = versionInformation?.Description + } : null, + + GitHub = "https://github.com/philosowaffle/peloton-to-garmin", + Documentation = "https://philosowaffle.github.io/peloton-to-garmin/", + Forums = "https://github.com/philosowaffle/peloton-to-garmin/discussions", + Donate = "https://www.buymeacoffee.com/philosowaffle", + Issues = "https://github.com/philosowaffle/peloton-to-garmin/issues", + Api = $"{scheme}://{host}/swagger", + + OutputDirectory = settings?.App?.OutputDirectory ?? string.Empty, + TempDirectory = settings?.App?.WorkingDirectory ?? string.Empty, + }; + } + + public async Task> GetLogsAsync() + { + var result = new ServiceResult(); + + if (string.IsNullOrWhiteSpace(Logging.CurrentFilePath)) + { + result.Error = new ServiceError() { Message = "No log file path found." }; + return result; + } + + var text = string.Empty; + try + { + using (var sr = new StreamReader(Logging.CurrentFilePath, new FileStreamOptions () { Access = FileAccess.Read, Share = FileShare.ReadWrite })) + { + text = await sr.ReadToEndAsync(); + + result.Result = new SystemInfoLogsGetResponse() { LogText = text }; + result.Successful = true; + return result; + } + } + catch (FileNotFoundException ex) + { + result.Error = new ServiceError() { Message = "Failed to read logs", Exception = ex, IsServerException = true }; + } + + return result; + } +} diff --git a/src/Api.Service/Validators/SyncValidators.cs b/src/Api.Service/Validators/SyncValidators.cs new file mode 100644 index 000000000..b30d0b084 --- /dev/null +++ b/src/Api.Service/Validators/SyncValidators.cs @@ -0,0 +1,52 @@ +using Api.Contract; +using Api.Service.Helpers; +using Common; +using Common.Stateful; +using Microsoft.AspNetCore.Mvc; + +namespace Api.Service.Validators; + +public static class SyncValidators +{ + public static (bool, ErrorResponse?) IsValid(this SyncPostRequest request, Settings settings, GarminApiAuthentication garminAuth) + { + if (request.IsNull("Request", out var result)) + return (false, result); + + if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled) + { + if (garminAuth is null || !garminAuth.IsValid(settings)) + { + result = new ErrorResponse("Must initialize Garmin two factor auth token before sync can be preformed.", ErrorCode.NeedToInitGarminMFAAuth); + return (false, result); + } + } + + if (request.WorkoutIds.DoesNotHaveAny(nameof(request.WorkoutIds), out result!)) + return (false, result); + + return (true, result); + } + + public static (bool, ActionResult?) IsValidHttp(this SyncPostRequest request, Settings settings, GarminApiAuthentication garminAuth) + { + ActionResult result = new OkResult(); + + if (request.IsNull("Request", out var error)) + return (false, new BadRequestObjectResult(error)); + + if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled) + { + if (garminAuth is null || !garminAuth.IsValid(settings)) + { + result = new UnauthorizedObjectResult(new ErrorResponse("Must initialize Garmin two factor auth token before sync can be preformed.", ErrorCode.NeedToInitGarminMFAAuth)); + return (false, result); + } + } + + if (request.WorkoutIds.DoesNotHaveAny(nameof(request.WorkoutIds), out error!)) + return (false, new BadRequestObjectResult(error)); + + return (true, result); + } +} diff --git a/src/Api/Api.csproj b/src/Api/Api.csproj index 88811f164..5b9813ef8 100644 --- a/src/Api/Api.csproj +++ b/src/Api/Api.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 PelotonToGarmin.Api enable enable @@ -26,20 +26,12 @@ - - - - - - - - - + diff --git a/src/Api/Controllers/GarminAuthenticationController.cs b/src/Api/Controllers/GarminAuthenticationController.cs index 6e1adab00..77bea7ff1 100644 --- a/src/Api/Controllers/GarminAuthenticationController.cs +++ b/src/Api/Controllers/GarminAuthenticationController.cs @@ -1,5 +1,5 @@ -using Common.Dto.Api; -using Common.Helpers; +using Api.Contract; +using Api.Service.Helpers; using Common.Service; using Garmin.Auth; using Microsoft.AspNetCore.Mvc; @@ -47,8 +47,8 @@ public async Task SignInAsync() { var settings = await _settingsService.GetSettingsAsync(); - if (settings.Garmin.Password.CheckIsNullOrEmpty("Garmin Password", out var result)) return result; - if (settings.Garmin.Email.CheckIsNullOrEmpty("Garmin Email", out result)) return result; + if (settings.Garmin.Password.CheckIsNullOrEmpty("Garmin Password", out var result)) return BadRequest(result); + if (settings.Garmin.Email.CheckIsNullOrEmpty("Garmin Email", out result)) return BadRequest(result); try { diff --git a/src/Api/Controllers/PelotonAnnualChallengeController.cs b/src/Api/Controllers/PelotonAnnualChallengeController.cs index c04b921dc..6c6f19373 100644 --- a/src/Api/Controllers/PelotonAnnualChallengeController.cs +++ b/src/Api/Controllers/PelotonAnnualChallengeController.cs @@ -1,5 +1,6 @@ -using Common.Dto; -using Common.Dto.Api; +using Api.Contract; +using Api.Service.Helpers; +using Api.Service.Mappers; using Microsoft.AspNetCore.Mvc; using Peloton.AnnualChallenge; @@ -39,24 +40,12 @@ public async Task> GetProgressSummaryAsync() return serviceResult.GetResultForError(); var data = serviceResult.Result; - var tiers = data.Tiers?.Select(t => new Common.Dto.Api.Tier() - { - BadgeUrl = t.BadgeUrl, - Title = t.Title, - RequiredMinutes = t.RequiredMinutes, - HasEarned = t.HasEarned, - PercentComplete = Convert.ToSingle(t.PercentComplete * 100), - IsOnTrackToEarndByEndOfYear = t.IsOnTrackToEarndByEndOfYear, - MinutesBehindPace = t.MinutesBehindPace, - MinutesAheadOfPace = t.MinutesAheadOfPace, - MinutesNeededPerDay = t.MinutesNeededPerDay, - MinutesNeededPerWeek = t.MinutesNeededPerWeek, - }).ToList(); + var tiers = data.Tiers?.Select(t => t.Map()).ToList(); return Ok(new ProgressGetResponse() { EarnedMinutes = data.EarnedMinutes, - Tiers = tiers ?? new List(), + Tiers = tiers ?? new List(), }); } catch (Exception e) diff --git a/src/Api/Controllers/PelotonWorkoutsController.cs b/src/Api/Controllers/PelotonWorkoutsController.cs index f8d72592f..61acb4edb 100644 --- a/src/Api/Controllers/PelotonWorkoutsController.cs +++ b/src/Api/Controllers/PelotonWorkoutsController.cs @@ -1,7 +1,7 @@ -using Common.Dto; -using Common.Dto.Api; +using Api.Contract; +using Api.Service.Helpers; +using Common.Dto; using Common.Dto.Peloton; -using Common.Helpers; using Flurl.Http; using Microsoft.AspNetCore.Mvc; using Peloton; @@ -35,7 +35,7 @@ public PelotonWorkoutsController(IPelotonService pelotonService) public async Task> GetAsync([FromQuery]PelotonWorkoutsGetRequest request) { if (!request.IsValid(out var result)) - return result; + return new BadRequestObjectResult(result); PagedPelotonResponse? recentWorkouts = null; @@ -82,7 +82,7 @@ public async Task> GetAsync([FromQuery] public async Task> GetAsync([FromQuery] PelotonWorkoutsGetAllRequest request) { if (request.SinceDate.IsAfter(DateTime.UtcNow, nameof(request.SinceDate), out var result)) - return result; + return new BadRequestObjectResult(result!); ICollection workoutsToReturn = new List(); var completedOnly = request.WorkoutStatusFilter == WorkoutStatus.Completed; diff --git a/src/Api/Controllers/SettingsController.cs b/src/Api/Controllers/SettingsController.cs index 9b894ee0a..00184bb48 100644 --- a/src/Api/Controllers/SettingsController.cs +++ b/src/Api/Controllers/SettingsController.cs @@ -1,6 +1,7 @@ -using Common; -using Common.Dto.Api; -using Common.Helpers; +using Api.Contract; +using Api.Service; +using Api.Service.Helpers; +using Common; using Common.Service; using Microsoft.AspNetCore.Mvc; @@ -13,12 +14,14 @@ namespace Api.Controllers; public class SettingsController : Controller { private readonly ISettingsService _settingsService; - private readonly IFileHandling _fileHandler; + private readonly IFileHandling _fileHandler; + private readonly ISettingsUpdaterService _settingsUpdaterService; - public SettingsController(ISettingsService settingsService, IFileHandling fileHandler) + public SettingsController(ISettingsService settingsService, IFileHandling fileHandler, ISettingsUpdaterService settingsUpdaterService) { _settingsService = settingsService; _fileHandler = fileHandler; + _settingsUpdaterService = settingsUpdaterService; } /// @@ -59,29 +62,14 @@ public async Task> Get() [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] public async Task> AppPost([FromBody] App updatedAppSettings) { - if (updatedAppSettings.CheckIsNull("PostRequest", out var result)) - return result; - - if (!string.IsNullOrWhiteSpace(updatedAppSettings.OutputDirectory) - && !_fileHandler.DirExists(updatedAppSettings.OutputDirectory)) - return new BadRequestObjectResult(new ErrorResponse($"Output Directory path is either not accessible or does not exist.")); - - if (updatedAppSettings.EnablePolling - && updatedAppSettings.PollingIntervalSeconds.CheckIsLessThanOrEqualTo(0, "PollingIntervalSeconds", out result)) - return result; - try { - var settings = await _settingsService.GetSettingsAsync(); - settings.App = updatedAppSettings; - - if (settings.Garmin.TwoStepVerificationEnabled && settings.App.EnablePolling) - return new BadRequestObjectResult(new ErrorResponse($"Automatic Syncing cannot be enabled when Garmin TwoStepVerification is enabled.")); + var result = await _settingsUpdaterService.UpdateAppSettingsAsync(updatedAppSettings); - await _settingsService.UpdateSettingsAsync(settings); - var updatedSettings = await _settingsService.GetSettingsAsync(); + if (result.IsErrored()) + return result.GetResultForError(); - return Ok(updatedSettings.App); + return Ok(result.Result); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, new ErrorResponse($"Unexpected error occurred: {e.Message}")); @@ -101,22 +89,14 @@ public async Task> AppPost([FromBody] App updatedAppSettings) [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] public async Task> FormatPost([FromBody] Format updatedFormatSettings) { - if (updatedFormatSettings.CheckIsNull("PostRequest", out var result)) - return result; - - if (!string.IsNullOrWhiteSpace(updatedFormatSettings.DeviceInfoPath) - && !_fileHandler.FileExists(updatedFormatSettings.DeviceInfoPath)) - return new BadRequestObjectResult(new ErrorResponse($"DeviceInfo path is either not accessible or does not exist.")); - try { - var settings = await _settingsService.GetSettingsAsync(); - settings.Format = updatedFormatSettings; + var result = await _settingsUpdaterService.UpdateFormatSettingsAsync(updatedFormatSettings); - await _settingsService.UpdateSettingsAsync(settings); - var updatedSettings = await _settingsService.GetSettingsAsync(); + if (result.IsErrored()) + return result.GetResultForError(); - return Ok(updatedSettings.Format); + return Ok(result.Result); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, new ErrorResponse($"Unexpected error occurred: {e.Message}")); @@ -136,23 +116,14 @@ public async Task> FormatPost([FromBody] Format updatedForm [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] public async Task> PelotonPost([FromBody] SettingsPelotonPostRequest updatedPelotonSettings) { - if (updatedPelotonSettings.CheckIsNull("PostRequest", out var result)) - return result; - - if (updatedPelotonSettings.NumWorkoutsToDownload.CheckIsLessThanOrEqualTo(0, "NumWorkoutsToDownload", out result)) - return result; - try { - var settings = await _settingsService.GetSettingsAsync(); - settings.Peloton = updatedPelotonSettings.Map(); - - await _settingsService.UpdateSettingsAsync(settings); - var updatedSettings = await _settingsService.GetSettingsAsync(); + var result = await _settingsUpdaterService.UpdatePelotonSettingsAsync(updatedPelotonSettings); - var settingsResponse = new SettingsGetResponse(updatedSettings); + if (result.IsErrored()) + return result.GetResultForError(); - return Ok(settingsResponse.Peloton); + return Ok(result.Result); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, new ErrorResponse($"Unexpected error occurred: {e.Message}")); @@ -171,24 +142,15 @@ public async Task> PelotonPost([FromBod [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] public async Task> GarminPost([FromBody] SettingsGarminPostRequest updatedGarminSettings) - { - if (updatedGarminSettings.CheckIsNull("PostRequest", out var result)) - return result; - + { try { - var settings = await _settingsService.GetSettingsAsync(); - settings.Garmin = updatedGarminSettings.Map(); - - if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled && settings.App.EnablePolling) - return new BadRequestObjectResult(new ErrorResponse($"Garmin TwoStepVerification cannot be enabled while Automatic Syncing is enabled. Please disable Automatic Syncing first.")); - - await _settingsService.UpdateSettingsAsync(settings); - var updatedSettings = await _settingsService.GetSettingsAsync(); + var result = await _settingsUpdaterService.UpdateGarminSettingsAsync(updatedGarminSettings); - var settingsResponse = new SettingsGetResponse(updatedSettings); + if (result.IsErrored()) + return result.GetResultForError(); - return Ok(settingsResponse.Garmin); + return Ok(result.Result); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, new ErrorResponse($"Unexpected error occurred: {e.Message}")); diff --git a/src/Api/Controllers/SyncController.cs b/src/Api/Controllers/SyncController.cs index 98cfc101b..16af58c41 100644 --- a/src/Api/Controllers/SyncController.cs +++ b/src/Api/Controllers/SyncController.cs @@ -1,11 +1,10 @@ -using Common.Database; -using Common.Dto.Api; -using Common.Helpers; +using Api.Contract; +using Api.Service.Validators; +using Common.Database; using Common.Service; using Microsoft.AspNetCore.Mvc; using Sync; -using ErrorResponse = Common.Dto.Api.ErrorResponse; - + namespace Api.Controllers; [ApiController] @@ -30,21 +29,22 @@ public SyncController(ISettingsService settingsService, ISyncService syncService /// /// The sync was successful. Returns the sync status information. /// This request completed, but the Sync may not have been successful. Returns the sync status information. - /// If the request fields are invalid. + /// If the request fields are invalid. /// ErrorCode.NeedToInitGarminMFAAuth - Garmin Two Factor is enabled, you must manually initialize Garmin auth prior to syncing. /// Unhandled exception. [HttpPost] [ProducesResponseType(typeof(SyncPostResponse), StatusCodes.Status201Created)] [ProducesResponseType(typeof(SyncPostResponse), StatusCodes.Status200OK)] - [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)] - [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status401Unauthorized)] - [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] + [ProducesResponseType(typeof(Contract.ErrorResponse), StatusCodes.Status400BadRequest)] + [ProducesResponseType(typeof(Contract.ErrorResponse), StatusCodes.Status401Unauthorized)] + [ProducesResponseType(typeof(Contract.ErrorResponse), StatusCodes.Status500InternalServerError)] public async Task> SyncAsync([FromBody] SyncPostRequest request) { var settings = await _settingsService.GetSettingsAsync(); + var auth = _settingsService.GetGarminAuthentication(settings.Garmin.Email); - var (isValid, result) = await IsValidAsync(request); - if (!isValid) return result; + var (isValid, result) = request.IsValidHttp(settings, auth); + if (!isValid) return result!; SyncResult syncResult = new(); try @@ -53,7 +53,7 @@ public async Task> SyncAsync([FromBody] SyncPostR } catch (Exception e) { - return StatusCode(StatusCodes.Status500InternalServerError, new ErrorResponse($"Unexpected error occurred: {e.Message}")); + return StatusCode(StatusCodes.Status500InternalServerError, new Contract.ErrorResponse($"Unexpected error occurred: {e.Message}")); } var response = new SyncPostResponse() @@ -62,7 +62,7 @@ public async Task> SyncAsync([FromBody] SyncPostR PelotonDownloadSuccess = syncResult.PelotonDownloadSuccess, ConverToFitSuccess = syncResult.ConversionSuccess, UploadToGarminSuccess = syncResult.UploadToGarminSuccess, - Errors = syncResult.Errors.Select(e => new ErrorResponse(e.Message)).ToList() + Errors = syncResult.Errors.Select(e => new Contract.ErrorResponse(e.Message)).ToList() }; if (!response.SyncSuccess) @@ -98,29 +98,5 @@ public async Task> GetAsync() }; return response; - } - - async Task<(bool, ActionResult)> IsValidAsync(SyncPostRequest request) - { - ActionResult result = new OkResult(); - - if (request.CheckIsNull("PostRequest", out result)) - return (false, result); - - var settings = await _settingsService.GetSettingsAsync(); - if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled) - { - var auth = _settingsService.GetGarminAuthentication(settings.Garmin.Email); - if (auth is null || !auth.IsValid(settings)) - { - result = new UnauthorizedObjectResult(new ErrorResponse("Must initialize Garmin two factor auth token before sync can be preformed.", ErrorCode.NeedToInitGarminMFAAuth)); - return (false, result); - } - } - - if (request.WorkoutIds.CheckDoesNotHaveAny(nameof(request.WorkoutIds), out result)) - return (false, result); - - return (true, result); } } diff --git a/src/Api/Controllers/SystemInfoController.cs b/src/Api/Controllers/SystemInfoController.cs index cbcedf93b..baa2d74f9 100644 --- a/src/Api/Controllers/SystemInfoController.cs +++ b/src/Api/Controllers/SystemInfoController.cs @@ -1,9 +1,7 @@ -using Common; -using Common.Dto; -using Common.Dto.Api; -using Core.GitHub; +using Api.Contract; +using Api.Services; +using Api.Service.Helpers; using Microsoft.AspNetCore.Mvc; -using Philosowaffle.Capability.ReleaseChecks.Model; namespace WebApp.Controllers { @@ -13,11 +11,11 @@ namespace WebApp.Controllers [Consumes("application/json")] public class SystemInfoController : Controller { - private readonly IGitHubReleaseCheckService _gitHubService; + private readonly ISystemInfoService _systemInfoService; - public SystemInfoController(IGitHubReleaseCheckService gitHubService) + public SystemInfoController(ISystemInfoService systemInforService) { - _gitHubService = gitHubService; + _systemInfoService = systemInforService; } /// @@ -28,35 +26,29 @@ public SystemInfoController(IGitHubReleaseCheckService gitHubService) [ProducesResponseType(StatusCodes.Status200OK)] public async Task> GetAsync([FromQuery]SystemInfoGetRequest request) { - LatestReleaseInformation? versionInformation = null; - - if (request.CheckForUpdate) - versionInformation = await _gitHubService.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion); + var result = await _systemInfoService.GetAsync(request, this.Request.Scheme, this.Request.Host.ToString()); + return Ok(result); + } - return new SystemInfoGetResponse() + [HttpGet] + [Route("/api/systeminfo/logs")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] + public async Task LogsGetAsync() + { + try { - OperatingSystem = SystemInformation.OS, - OperatingSystemVersion = SystemInformation.OSVersion, + var result = await _systemInfoService.GetLogsAsync(); - RunTimeVersion = SystemInformation.RunTimeVersion, + if (result.IsErrored()) + return result.GetResultForError(); - Version = Constants.AppVersion, - NewerVersionAvailable = versionInformation?.IsReleaseNewerThanInstalledVersion, - LatestVersionInformation = request.CheckForUpdate ? new LatestVersionInformation() - { - LatestVersion = versionInformation?.LatestVersion, - ReleaseDate = versionInformation?.ReleaseDate.ToString(), - ReleaseUrl = versionInformation?.ReleaseUrl, - Description = versionInformation?.Description - } : null, + return Ok(result.Result); - GitHub = "https://github.com/philosowaffle/peloton-to-garmin", - Documentation = "https://philosowaffle.github.io/peloton-to-garmin/", - Forums = "https://github.com/philosowaffle/peloton-to-garmin/discussions", - Donate = "https://www.buymeacoffee.com/philosowaffle", - Issues = "https://github.com/philosowaffle/peloton-to-garmin/issues", - Api = $"{this.Request.Scheme}://{this.Request.Host}/swagger" - }; + } catch (Exception e) + { + return StatusCode(StatusCodes.Status500InternalServerError, new ErrorResponse($"Unexpected error occurred: {e.Message}")); + } } } } diff --git a/src/Api/Program.cs b/src/Api/Program.cs index ec88c90f1..7372a644c 100644 --- a/src/Api/Program.cs +++ b/src/Api/Program.cs @@ -1,23 +1,11 @@ using Api.Services; using Common; using Common.Database; -using Common.Http; -using Common.Observe; -using Common.Service; using Common.Stateful; -using Conversion; -using Garmin; -using Garmin.Auth; -using Microsoft.Extensions.Caching.Memory; -using Peloton; -using Peloton.AnnualChallenge; -using Philosowaffle.Capability.ReleaseChecks; using Prometheus; using Serilog; -using Serilog.Enrichers.Span; using Serilog.Events; -using Serilog.Settings.Configuration; -using Sync; +using SharedStartup; using System.Reflection; /////////////////////////////////////////////////////////// @@ -31,8 +19,7 @@ /////////////////////////////////////////////////////////// /// HOST /////////////////////////////////////////////////////////// -var builder = WebApplication - .CreateBuilder(args); +var builder = WebApplication.CreateBuilder(args); var configProvider = builder.Configuration.AddJsonFile(Statics.ConfigPath, optional: true, reloadOnChange: true) .AddEnvironmentVariables(prefix: "P2G_") @@ -43,19 +30,11 @@ builder.WebHost.UseUrls(config.Api.HostUrl); -builder.Host.UseSerilog((ctx, logConfig) => -{ - logConfig - .ReadFrom.Configuration(ctx.Configuration, new ConfigurationReaderOptions() { SectionName = $"{nameof(Observability)}:Serilog" }) - .Enrich.WithSpan() - .Enrich.FromLogContext(); -}); - -builder.Host.ConfigureServices(services => services.AddHostedService()); - -/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// /// SERVICES -/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +builder.Services.AddHostedService(); builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); @@ -72,53 +51,9 @@ c.IncludeXmlComments(docPath); }); -// CACHE -builder.Services.AddSingleton(); - -// CONVERT -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); - -// GARMIN -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); - -// IO -builder.Services.AddSingleton(); +builder.Services.ConfigureP2GApiServices(); -// MIGRATIONS -builder.Services.AddSingleton(); - -// PELOTON -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); - -// RELEASE CHECKS -builder.Services.AddGitHubReleaseChecker(); - -// SETTINGS -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); - -// SYNC -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); - -// USERS -builder.Services.AddSingleton(); - -FlurlConfiguration.Configure(config.Observability); -Tracing.EnableApiTracing(builder.Services, config.Observability.Jaeger); - -Log.Logger = new LoggerConfiguration() - .ReadFrom.Configuration(builder.Configuration, new ConfigurationReaderOptions() { SectionName = $"{nameof(Observability)}:Serilog" }) - .Enrich.FromLogContext() - .CreateLogger(); - -Logging.LogSystemInformation(); +ObservabilityStartup.ConfigureApi(builder.Services, builder.Configuration, config); Common.Observe.Metrics.CreateAppInfo(); /////////////////////////////////////////////////////////// @@ -127,8 +62,17 @@ var app = builder.Build(); -// Setup initial Tracing Source -Tracing.Source = new(Statics.TracingService); +if (Log.IsEnabled(LogEventLevel.Verbose)) + app.UseSerilogRequestLogging(); + +if (config.Observability.Prometheus.Enabled) +{ + Log.Information("Metrics Enabled"); + Common.Observe.Metrics.EnableCollector(config.Observability.Prometheus); + + app.MapMetrics(); + app.UseHttpMetrics(); +} app.UseCors(options => { @@ -140,22 +84,11 @@ app.UseSwagger(); app.UseSwaggerUI(); -if (Log.IsEnabled(LogEventLevel.Verbose)) - app.UseSerilogRequestLogging(); - app.Use((context, next) => { return next.Invoke(); }); -if (config.Observability.Prometheus.Enabled) -{ - Log.Information("Metrics Enabled"); - Common.Observe.Metrics.EnableCollector(config.Observability.Prometheus); - - app.MapMetrics(); - app.UseHttpMetrics(); -} //app.UseHttpsRedirection(); app.UseAuthorization(); diff --git a/src/ClientUI/App.xaml b/src/ClientUI/App.xaml new file mode 100644 index 000000000..4115021dd --- /dev/null +++ b/src/ClientUI/App.xaml @@ -0,0 +1,26 @@ + + + + + + #512bdf + White + + + + + + + + \ No newline at end of file diff --git a/src/ClientUI/App.xaml.cs b/src/ClientUI/App.xaml.cs new file mode 100644 index 000000000..15b9edee7 --- /dev/null +++ b/src/ClientUI/App.xaml.cs @@ -0,0 +1,12 @@ +namespace ClientUI +{ + public partial class App : Application + { + public App() + { + InitializeComponent(); + + MainPage = new MainPage(); + } + } +} \ No newline at end of file diff --git a/src/ClientUI/ClientUI.csproj b/src/ClientUI/ClientUI.csproj new file mode 100644 index 000000000..86e56edc4 --- /dev/null +++ b/src/ClientUI/ClientUI.csproj @@ -0,0 +1,83 @@ + + + + + $(TargetFrameworks);net7.0-windows10.0.22621.0 + + + Exe + ClientUI + true + true + enable + false + + None + true + false + + + PelotonToGarmin + + + com.philosowaffle.pelotontogarmin.clientui + B01486E7-1F8D-4350-B68E-874A02A96694 + + + 1.0 + 1 + + 14.2 + 14.0 + 24.0 + 10.0.19041.0 + 10.0.19041.0 + 6.5 + P2G ClientUI + Philosowaffle + P2G ClientUI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NU1603,NETSDK1023 + + + + + + + + + + + + Always + + + + diff --git a/src/ClientUI/Main.razor b/src/ClientUI/Main.razor new file mode 100644 index 000000000..a547605d1 --- /dev/null +++ b/src/ClientUI/Main.razor @@ -0,0 +1 @@ + diff --git a/src/ClientUI/MainPage.xaml b/src/ClientUI/MainPage.xaml new file mode 100644 index 000000000..f38423f75 --- /dev/null +++ b/src/ClientUI/MainPage.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/src/ClientUI/MainPage.xaml.cs b/src/ClientUI/MainPage.xaml.cs new file mode 100644 index 000000000..3615c0fa5 --- /dev/null +++ b/src/ClientUI/MainPage.xaml.cs @@ -0,0 +1,10 @@ +namespace ClientUI +{ + public partial class MainPage : ContentPage + { + public MainPage() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/src/ClientUI/MauiProgram.cs b/src/ClientUI/MauiProgram.cs new file mode 100644 index 000000000..e4d6a4dab --- /dev/null +++ b/src/ClientUI/MauiProgram.cs @@ -0,0 +1,96 @@ +using Common; +using Microsoft.Extensions.Logging; +using SharedUI; +using Common.Stateful; +using Microsoft.Extensions.Configuration; +using SharedStartup; + +namespace ClientUI; + +public static class MauiProgram +{ + public static MauiApp CreateMauiApp() + { + /////////////////////////////////////////////////////////// + /// STATICS + /////////////////////////////////////////////////////////// + Statics.AppType = Constants.ClientUIName; + Statics.MetricPrefix = Constants.ClientUIName; + Statics.TracingService = Constants.ClientUIName; + Statics.ConfigPath = Path.Join(Environment.CurrentDirectory, "configuration.local.json"); + + Directory.CreateDirectory(Statics.DefaultOutputDirectory); + + /////////////////////////////////////////////////////////// + /// HOST + /////////////////////////////////////////////////////////// + var builder = MauiApp.CreateBuilder(); + builder + .UseMauiApp() + .ConfigureFonts(fonts => + { + fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); + }); + + var observabilityConfigFilePath = Statics.ConfigPath; + if (!File.Exists(observabilityConfigFilePath)) + InitObservabilityConfigFile("configuration.local.json", observabilityConfigFilePath); + + var configProvider = builder.Configuration.AddJsonFile(observabilityConfigFilePath, optional: true, reloadOnChange: true) + .AddEnvironmentVariables(prefix: "P2G_"); + + var config = new AppConfiguration(); + ConfigurationSetup.LoadConfigValues(builder.Configuration, config); + + /////////////////////////////////////////////////////////// + /// SERVICES + /////////////////////////////////////////////////////////// + + // API CLIENT + builder.Services.AddSingleton(); + + builder.Services.ConfigureSharedUIServices(); + builder.Services.ConfigureP2GApiServices(); + + ObservabilityStartup.ConfigureClientUI(builder.Services, builder.Configuration, config); + + /////////////////////////////////////////////////////////// + /// APP + /////////////////////////////////////////////////////////// + + builder.Services.AddMauiBlazorWebView(); + +#if DEBUG + builder.Services.AddBlazorWebViewDeveloperTools(); + builder.Logging.AddDebug(); +#endif + + return builder.Build(); + } + + private static void InitObservabilityConfigFile(string sourceFileName, string destinationPath) + { + using FileStream outputStream = File.OpenWrite(destinationPath); + using Stream fs = FileSystem.Current.OpenAppPackageFileAsync(sourceFileName).GetAwaiter().GetResult(); + using BinaryWriter writer = new BinaryWriter(outputStream); + using (BinaryReader reader = new BinaryReader(fs)) + { + var bytesRead = 0; + + int bufferSize = 1024; + var buffer = new byte[bufferSize]; + using (fs) + { + do + { + buffer = reader.ReadBytes(bufferSize); + bytesRead = buffer.Count(); + writer.Write(buffer); + } + + while (bytesRead > 0); + + } + } + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/Android/AndroidManifest.xml b/src/ClientUI/Platforms/Android/AndroidManifest.xml new file mode 100644 index 000000000..dbf9e7e53 --- /dev/null +++ b/src/ClientUI/Platforms/Android/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/ClientUI/Platforms/Android/MainActivity.cs b/src/ClientUI/Platforms/Android/MainActivity.cs new file mode 100644 index 000000000..e960165b2 --- /dev/null +++ b/src/ClientUI/Platforms/Android/MainActivity.cs @@ -0,0 +1,11 @@ +using Android.App; +using Android.Content.PM; +using Android.OS; + +namespace ClientUI +{ + [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)] + public class MainActivity : MauiAppCompatActivity + { + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/Android/MainApplication.cs b/src/ClientUI/Platforms/Android/MainApplication.cs new file mode 100644 index 000000000..c91889718 --- /dev/null +++ b/src/ClientUI/Platforms/Android/MainApplication.cs @@ -0,0 +1,16 @@ +using Android.App; +using Android.Runtime; + +namespace ClientUI +{ + [Application] + public class MainApplication : MauiApplication + { + public MainApplication(IntPtr handle, JniHandleOwnership ownership) + : base(handle, ownership) + { + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/Android/Resources/values/colors.xml b/src/ClientUI/Platforms/Android/Resources/values/colors.xml new file mode 100644 index 000000000..c04d7492a --- /dev/null +++ b/src/ClientUI/Platforms/Android/Resources/values/colors.xml @@ -0,0 +1,6 @@ + + + #512BD4 + #2B0B98 + #2B0B98 + \ No newline at end of file diff --git a/src/ClientUI/Platforms/MacCatalyst/AppDelegate.cs b/src/ClientUI/Platforms/MacCatalyst/AppDelegate.cs new file mode 100644 index 000000000..7c5357446 --- /dev/null +++ b/src/ClientUI/Platforms/MacCatalyst/AppDelegate.cs @@ -0,0 +1,10 @@ +using Foundation; + +namespace ClientUI +{ + [Register("AppDelegate")] + public class AppDelegate : MauiUIApplicationDelegate + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/MacCatalyst/Info.plist b/src/ClientUI/Platforms/MacCatalyst/Info.plist new file mode 100644 index 000000000..403ce9c66 --- /dev/null +++ b/src/ClientUI/Platforms/MacCatalyst/Info.plist @@ -0,0 +1,30 @@ + + + + + UIDeviceFamily + + 1 + 2 + + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/appicon.appiconset + + diff --git a/src/ClientUI/Platforms/MacCatalyst/Program.cs b/src/ClientUI/Platforms/MacCatalyst/Program.cs new file mode 100644 index 000000000..0fa773004 --- /dev/null +++ b/src/ClientUI/Platforms/MacCatalyst/Program.cs @@ -0,0 +1,16 @@ +using ObjCRuntime; +using UIKit; + +namespace ClientUI +{ + public class Program + { + // This is the main entry point of the application. + static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, typeof(AppDelegate)); + } + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/Tizen/Main.cs b/src/ClientUI/Platforms/Tizen/Main.cs new file mode 100644 index 000000000..f1e4b6dc1 --- /dev/null +++ b/src/ClientUI/Platforms/Tizen/Main.cs @@ -0,0 +1,17 @@ +using Microsoft.Maui; +using Microsoft.Maui.Hosting; +using System; + +namespace ClientUI +{ + internal class Program : MauiApplication + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + + static void Main(string[] args) + { + var app = new Program(); + app.Run(args); + } + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/Tizen/tizen-manifest.xml b/src/ClientUI/Platforms/Tizen/tizen-manifest.xml new file mode 100644 index 000000000..52e59bf2b --- /dev/null +++ b/src/ClientUI/Platforms/Tizen/tizen-manifest.xml @@ -0,0 +1,15 @@ + + + + + + maui-appicon-placeholder + + + + + http://tizen.org/privilege/internet + + + + \ No newline at end of file diff --git a/src/ClientUI/Platforms/Windows/App.xaml b/src/ClientUI/Platforms/Windows/App.xaml new file mode 100644 index 000000000..41c2bd6cf --- /dev/null +++ b/src/ClientUI/Platforms/Windows/App.xaml @@ -0,0 +1,8 @@ + + + diff --git a/src/ClientUI/Platforms/Windows/App.xaml.cs b/src/ClientUI/Platforms/Windows/App.xaml.cs new file mode 100644 index 000000000..de869244f --- /dev/null +++ b/src/ClientUI/Platforms/Windows/App.xaml.cs @@ -0,0 +1,24 @@ +using Microsoft.UI.Xaml; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. + +namespace ClientUI.WinUI +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + public partial class App : MauiWinUIApplication + { + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + this.InitializeComponent(); + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/Windows/Package.appxmanifest b/src/ClientUI/Platforms/Windows/Package.appxmanifest new file mode 100644 index 000000000..ad10a7ead --- /dev/null +++ b/src/ClientUI/Platforms/Windows/Package.appxmanifest @@ -0,0 +1,47 @@ + + + + + + + + + P2G + Philosowaffle + Resources\Logo\P2G-Package-Logo.png + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ClientUI/Platforms/iOS/AppDelegate.cs b/src/ClientUI/Platforms/iOS/AppDelegate.cs new file mode 100644 index 000000000..7c5357446 --- /dev/null +++ b/src/ClientUI/Platforms/iOS/AppDelegate.cs @@ -0,0 +1,10 @@ +using Foundation; + +namespace ClientUI +{ + [Register("AppDelegate")] + public class AppDelegate : MauiUIApplicationDelegate + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/iOS/Info.plist b/src/ClientUI/Platforms/iOS/Info.plist new file mode 100644 index 000000000..ecb7f719b --- /dev/null +++ b/src/ClientUI/Platforms/iOS/Info.plist @@ -0,0 +1,32 @@ + + + + + LSRequiresIPhoneOS + + UIDeviceFamily + + 1 + 2 + + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/appicon.appiconset + + diff --git a/src/ClientUI/Platforms/iOS/Program.cs b/src/ClientUI/Platforms/iOS/Program.cs new file mode 100644 index 000000000..0fa773004 --- /dev/null +++ b/src/ClientUI/Platforms/iOS/Program.cs @@ -0,0 +1,16 @@ +using ObjCRuntime; +using UIKit; + +namespace ClientUI +{ + public class Program + { + // This is the main entry point of the application. + static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, typeof(AppDelegate)); + } + } +} \ No newline at end of file diff --git a/src/ClientUI/Properties/launchSettings.json b/src/ClientUI/Properties/launchSettings.json new file mode 100644 index 000000000..4f857936f --- /dev/null +++ b/src/ClientUI/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "Windows Machine": { + "commandName": "Project", + "nativeDebugging": false + } + } +} \ No newline at end of file diff --git a/src/ClientUI/Resources/AppIcon/appicon.svg b/src/ClientUI/Resources/AppIcon/appicon.svg new file mode 100644 index 000000000..49fe7f83f --- /dev/null +++ b/src/ClientUI/Resources/AppIcon/appicon.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/src/ClientUI/Resources/AppIcon/appiconfg.svg b/src/ClientUI/Resources/AppIcon/appiconfg.svg new file mode 100644 index 000000000..a5455b3fd --- /dev/null +++ b/src/ClientUI/Resources/AppIcon/appiconfg.svg @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + P + G + 2 + + + P + G + 2 + + + + diff --git a/src/ClientUI/Resources/Fonts/OpenSans-Regular.ttf b/src/ClientUI/Resources/Fonts/OpenSans-Regular.ttf new file mode 100644 index 000000000..f7fd33bb1 Binary files /dev/null and b/src/ClientUI/Resources/Fonts/OpenSans-Regular.ttf differ diff --git a/src/ClientUI/Resources/Images/dotnet_bot.svg b/src/ClientUI/Resources/Images/dotnet_bot.svg new file mode 100644 index 000000000..abfaff26a --- /dev/null +++ b/src/ClientUI/Resources/Images/dotnet_bot.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ClientUI/Resources/Raw/AboutAssets.txt b/src/ClientUI/Resources/Raw/AboutAssets.txt new file mode 100644 index 000000000..531df33f7 --- /dev/null +++ b/src/ClientUI/Resources/Raw/AboutAssets.txt @@ -0,0 +1,15 @@ +Any raw assets you want to be deployed with your application can be placed in +this directory (and child directories). Deployment of the asset to your application +is automatically handled by the following `MauiAsset` Build Action within your `.csproj`. + + + +These files will be deployed with you package and will be accessible using Essentials: + + async Task LoadMauiAsset() + { + using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt"); + using var reader = new StreamReader(stream); + + var contents = reader.ReadToEnd(); + } diff --git a/src/ClientUI/Resources/Splash/P2G-Splash.png b/src/ClientUI/Resources/Splash/P2G-Splash.png new file mode 100644 index 000000000..9b3ec5d11 Binary files /dev/null and b/src/ClientUI/Resources/Splash/P2G-Splash.png differ diff --git a/src/ClientUI/Resources/Splash/P2G-Splash.scale-125.png b/src/ClientUI/Resources/Splash/P2G-Splash.scale-125.png new file mode 100644 index 000000000..b5c7eed27 Binary files /dev/null and b/src/ClientUI/Resources/Splash/P2G-Splash.scale-125.png differ diff --git a/src/ClientUI/Resources/Splash/P2G-Splash.scale-150.png b/src/ClientUI/Resources/Splash/P2G-Splash.scale-150.png new file mode 100644 index 000000000..db8944ab2 Binary files /dev/null and b/src/ClientUI/Resources/Splash/P2G-Splash.scale-150.png differ diff --git a/src/ClientUI/Resources/Splash/splash.svg b/src/ClientUI/Resources/Splash/splash.svg new file mode 100644 index 000000000..e00f64570 --- /dev/null +++ b/src/ClientUI/Resources/Splash/splash.svg @@ -0,0 +1,136 @@ + +image/svg+xml + + + + +PG2PG2 diff --git a/src/ClientUI/ServiceClient.cs b/src/ClientUI/ServiceClient.cs new file mode 100644 index 000000000..6ed4fb5d5 --- /dev/null +++ b/src/ClientUI/ServiceClient.cs @@ -0,0 +1,371 @@ +using Api.Contract; +using Api.Service; +using Api.Service.Helpers; +using Api.Service.Mappers; +using Api.Service.Validators; +using Api.Services; +using Common; +using Common.Database; +using Common.Dto.Peloton; +using Common.Dto; +using Common.Service; +using Flurl.Http; +using Garmin.Auth; +using Peloton; +using Peloton.AnnualChallenge; +using Peloton.Dto; +using SharedUI; +using Sync; + +namespace ClientUI; + +public class ServiceClient : IApiClient +{ + private readonly ISystemInfoService _systemInfoService; + private readonly ISettingsService _settingsService; + private readonly ISettingsUpdaterService _settingsUpdaterService; + private readonly IAnnualChallengeService _annualChallengeService; + private readonly IPelotonService _pelotonService; + private readonly IGarminAuthenticationService _garminAuthService; + private readonly ISyncService _syncService; + private readonly ISyncStatusDb _syncStatusDb; + + public ServiceClient(ISystemInfoService systemInfoService, ISettingsService settingsService, IAnnualChallengeService annualChallengeService, ISettingsUpdaterService settingsUpdaterService, IPelotonService pelotonService, IGarminAuthenticationService garminAuthService, ISyncService syncService, ISyncStatusDb syncStatusDb) + { + _systemInfoService = systemInfoService; + _settingsService = settingsService; + _annualChallengeService = annualChallengeService; + _settingsUpdaterService = settingsUpdaterService; + _pelotonService = pelotonService; + _garminAuthService = garminAuthService; + _syncService = syncService; + _syncStatusDb = syncStatusDb; + } + + public async Task GetAnnualProgressAsync() + { + var userId = 1; + try + { + var serviceResult = await _annualChallengeService.GetAnnualChallengeProgressAsync(userId); + + if (serviceResult.IsErrored()) + throw new ApiClientException(serviceResult.Error.Message, serviceResult.Error.Exception); + + var data = serviceResult.Result; + var tiers = data.Tiers?.Select(t => t.Map()).ToList(); + + return new ProgressGetResponse() + { + EarnedMinutes = data.EarnedMinutes, + Tiers = tiers ?? new List(), + }; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error ocurred: {e.Message}", e); + } + } + + public async Task GetGarminAuthenticationAsync() + { + var settings = await _settingsService.GetSettingsAsync(); + var auth = _settingsService.GetGarminAuthentication(settings.Garmin.Email); + + var result = new GarminAuthenticationGetResponse() { IsAuthenticated = auth?.IsValid(settings) ?? false }; + return result; + } + + public async Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetRequest request) + { + if (!request.IsValid(out var result)) + throw new ApiClientException(result); + + PagedPelotonResponse recentWorkouts = null; + + try + { + recentWorkouts = await _pelotonService.GetPelotonWorkoutsAsync(request.PageSize, request.PageIndex); + } + catch (ArgumentException ae) + { + throw new ApiClientException(new ErrorResponse(ae.Message, ae)); + } + catch (PelotonAuthenticationError pe) + { + throw new ApiClientException(new ErrorResponse(pe.Message, pe)); + } + catch (Exception e) + { + throw new ApiClientException(new ErrorResponse($"Unexpected error occurred: {e.Message}", e)); + } + + return new PelotonWorkoutsGetResponse() + { + PageSize = recentWorkouts.Limit, + PageIndex = recentWorkouts.Page, + PageCount = recentWorkouts.Page_Count, + TotalItems = recentWorkouts.Total, + Items = recentWorkouts.data + .OrderByDescending(i => i.Created_At) + .Select(w => new PelotonWorkout(w)) + .ToList() + }; + } + + public async Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetAllRequest request) + { + if (request.SinceDate.IsAfter(DateTime.UtcNow, nameof(request.SinceDate), out var result)) + throw new ApiClientException(result!); + + ICollection workoutsToReturn = new List(); + var completedOnly = request.WorkoutStatusFilter == WorkoutStatus.Completed; + + try + { + var serviceResult = await _pelotonService.GetWorkoutsSinceAsync(request.SinceDate); + + if (serviceResult.IsErrored()) + throw new ApiClientException(new ErrorResponse(serviceResult.Error.Message)); + + foreach (var w in serviceResult.Result) + { + if (completedOnly && w.Status != "COMPLETE") + continue; + + if (request.ExcludeWorkoutTypes.Contains(w.GetWorkoutType())) + continue; + + workoutsToReturn.Add(w); + } + } + catch (Exception e) + { + throw new ApiClientException(new ErrorResponse($"Unexpected error occurred: {e.Message}", e)); + } + + return new PelotonWorkoutsGetAllResponse() + { + SinceDate = request.SinceDate, + Items = workoutsToReturn + .OrderByDescending(i => i.Created_At) + .Select(w => new PelotonWorkout(w)) + .ToList() + }; + } + + public async Task SendGarminMfaTokenAsync(GarminAuthenticationMfaTokenPostRequest request) + { + var settings = await _settingsService.GetSettingsAsync(); + + if (!settings.Garmin.TwoStepVerificationEnabled) + throw new ApiClientException(new ErrorResponse("Garmin two step verification is not enabled in Settings.")); + + try + { + await _garminAuthService.CompleteMFAAuthAsync(request.MfaToken); + return; + } + catch (Exception e) + { + throw new ApiClientException(new ErrorResponse($"Unexpected error occurred: {e.Message}", e)); + } + } + + public async Task SettingsGetAsync() + { + try + { + var settings = await _settingsService.GetSettingsAsync(); + + var settingsResponse = new SettingsGetResponse(settings); + settingsResponse.Peloton.Password = null; + settingsResponse.Garmin.Password = null; + + return settingsResponse; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error ocurred: {e.Message}", e); + } + } + + public async Task SettingsAppPostAsync(Common.App appSettings) + { + try + { + var result = await _settingsUpdaterService.UpdateAppSettingsAsync(appSettings); + + if (result.IsErrored()) + throw new ApiClientException(result.Error.Message, result.Error.Exception); + + return result.Result; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error occurred: {e.Message}", e); + } + } + + public async Task SettingsFormatPostAsync(Format formatSettings) + { + try + { + var result = await _settingsUpdaterService.UpdateFormatSettingsAsync(formatSettings); + + if (result.IsErrored()) + throw new ApiClientException(result.Error.Message, result.Error.Exception); + + return result.Result; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error occurred: {e.Message}", e); + } + } + + public async Task SettingsGarminPostAsync(SettingsGarminPostRequest garminSettings) + { + try + { + var result = await _settingsUpdaterService.UpdateGarminSettingsAsync(garminSettings); + + if (result.IsErrored()) + throw new ApiClientException(result.Error.Message, result.Error.Exception); + + return result.Result; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error occurred: {e.Message}", e); + } + } + + public async Task SettingsPelotonPostAsync(SettingsPelotonPostRequest pelotonSettings) + { + try + { + var result = await _settingsUpdaterService.UpdatePelotonSettingsAsync(pelotonSettings); + + if (result.IsErrored()) + throw new ApiClientException(result.Error.Message, result.Error.Exception); + + return result.Result; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error occurred: {e.Message}", e); + } + } + + public async Task SignInToGarminAsync() + { + var settings = await _settingsService.GetSettingsAsync(); + + if (settings.Garmin.Password.CheckIsNullOrEmpty("Garmin Password", out var result)) throw new ApiClientException(result); + if (settings.Garmin.Email.CheckIsNullOrEmpty("Garmin Email", out result)) throw new ApiClientException(result); + + try + { + if (!settings.Garmin.TwoStepVerificationEnabled) + { + await _garminAuthService.RefreshGarminAuthenticationAsync(); + return new FlurlResponse(new HttpResponseMessage() { StatusCode = System.Net.HttpStatusCode.Created }); + } + else + { + var auth = await _garminAuthService.RefreshGarminAuthenticationAsync(); + + if (auth.AuthStage == Common.Stateful.AuthStage.NeedMfaToken) + return new FlurlResponse(new HttpResponseMessage() { StatusCode = System.Net.HttpStatusCode.Accepted }); + + return new FlurlResponse(new HttpResponseMessage() { StatusCode = System.Net.HttpStatusCode.Created }); + } + } + catch (GarminAuthenticationError gae) when (gae.Code == Code.UnexpectedMfa) + { + throw new ApiClientException(new ErrorResponse("It looks like your account is protected by two step verification. Please enable the Two Step verification setting.", ErrorCode.UnexpectedGarminMFA, gae)); + } + catch (GarminAuthenticationError gae) when (gae.Code == Code.InvalidCredentials) + { + throw new ApiClientException(new ErrorResponse("Garmin authentication failed. Invalid Garmin credentials.", ErrorCode.InvalidGarminCredentials, gae)); + } + catch (Exception e) + { + throw new ApiClientException(new ErrorResponse($"Unexpected error occurred: {e.Message}", e)); + } + } + + public async Task SyncGetAsync() + { + var syncTimeTask = _syncStatusDb.GetSyncStatusAsync(); + var settingsTask = _settingsService.GetSettingsAsync(); + + await Task.WhenAll(syncTimeTask, settingsTask); + + var syncTime = await syncTimeTask; + var settings = await settingsTask; + + return new SyncGetResponse() + { + SyncEnabled = settings.App.EnablePolling, + SyncStatus = syncTime.SyncStatus, + LastSuccessfulSyncTime = syncTime.LastSuccessfulSyncTime, + LastSyncTime = syncTime.LastSyncTime, + NextSyncTime = syncTime.NextSyncTime + }; + } + + public async Task SyncPostAsync(SyncPostRequest syncPostRequest) + { + var settings = await _settingsService.GetSettingsAsync(); + var auth = _settingsService.GetGarminAuthentication(settings.Garmin.Email); + + var (isValid, result) = syncPostRequest.IsValid(settings, auth); + if (!isValid) + throw new ApiClientException(result); + + SyncResult syncResult = new(); + try + { + syncResult = await _syncService.SyncAsync(syncPostRequest.WorkoutIds, exclude: null); + } + catch (Exception e) + { + throw new ApiClientException(new ErrorResponse($"Unexpected error occurred: {e.Message}", e)); + } + + return new SyncPostResponse() + { + SyncSuccess = syncResult.SyncSuccess, + PelotonDownloadSuccess = syncResult.PelotonDownloadSuccess, + ConverToFitSuccess = syncResult.ConversionSuccess, + UploadToGarminSuccess = syncResult.UploadToGarminSuccess, + Errors = syncResult.Errors.Select(e => new ErrorResponse(e.Message)).ToList() + }; + } + + public async Task SystemInfoGetAsync(SystemInfoGetRequest systemInfoGetRequest) + { + var result = await _systemInfoService.GetAsync(systemInfoGetRequest); + result.Api = null; + return result; + } + + public async Task SystemInfoGetLogsAsync() + { + try + { + var result = await _systemInfoService.GetLogsAsync(); + + if (result.IsErrored()) + throw new ApiClientException(result.Error.Message, result.Error.Exception); + + return result.Result; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error occurred: {e.Message}", e); + } + } +} diff --git a/src/ClientUI/_Imports.razor b/src/ClientUI/_Imports.razor new file mode 100644 index 000000000..873c1ed8e --- /dev/null +++ b/src/ClientUI/_Imports.razor @@ -0,0 +1,7 @@ +@using System.Net.Http +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using ClientUI diff --git a/src/ClientUI/configuration.example.json b/src/ClientUI/configuration.example.json new file mode 100644 index 000000000..47de40236 --- /dev/null +++ b/src/ClientUI/configuration.example.json @@ -0,0 +1,37 @@ +{ + "Observability": { + + "Prometheus": { + "Enabled": false, + "Port": 4000 + }, + + "Jaeger": { + "Enabled": false, + "AgentHost": "localhost", + "AgentPort": 6831 + }, + + "Serilog": { + "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ], + "MinimumLevel": { + "Default": "Information", + "Override": { + "Microsoft": "Error", + "System": "Error" + } + }, + "WriteTo": [ + { "Name": "Console" }, + { + "Name": "File", + "Args": { + "path": "./output/log.txt", + "rollingInterval": "Day", + "retainedFileCountLimit": 7 + } + } + ] + } + } + } \ No newline at end of file diff --git a/src/ClientUI/wwwroot/index.html b/src/ClientUI/wwwroot/index.html new file mode 100644 index 000000000..1c9f98664 --- /dev/null +++ b/src/ClientUI/wwwroot/index.html @@ -0,0 +1,31 @@ + + + + + + ClientUI + + + + + + + +
+ +
Loading...
+ +
+ An unhandled error has occurred. + Reload + 🗙 +
+ + + + + + + + + \ No newline at end of file diff --git a/src/Common/Common.csproj b/src/Common/Common.csproj index 4dac78977..e7abd30d7 100644 --- a/src/Common/Common.csproj +++ b/src/Common/Common.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 true $(NoWarn);1591 @@ -9,16 +9,24 @@ - + - - + + - + + + + + + + + + diff --git a/src/Common/Configuration.cs b/src/Common/Configuration.cs index 524729bf0..914e81ca4 100644 --- a/src/Common/Configuration.cs +++ b/src/Common/Configuration.cs @@ -1,8 +1,7 @@ using Common.Dto; +using Common.Stateful; using Microsoft.Extensions.Configuration; -using System; using System.Collections.Generic; -using System.ComponentModel; using System.IO; namespace Common; @@ -68,37 +67,23 @@ public class App { public App() { - OutputDirectory = Path.Join(Environment.CurrentDirectory, "output"); - WorkingDirectory = Path.Join(Environment.CurrentDirectory, "working"); - CheckForUpdates = true; EnablePolling = false; PollingIntervalSeconds = 86400; // 1 day } - [DisplayName("Output Directory")] - [Description("Where downloaded and converted files should be saved to.")] - public string OutputDirectory { get; set; } - [DisplayName("Working Directory")] - [Description("The directory where P2G can work. When running, P2G will create and delete files and needs a dedicated directory to do that.")] - public string WorkingDirectory { get; set; } - - [DisplayName("Enable Polling")] - [Description("Enabled if you wish P2G to run continuously and poll Peloton for new workouts.")] public bool EnablePolling { get; set; } - [DisplayName("Polling Interval in Seconds")] - [Description("The polling interval in seconds determines how frequently P2G should check for new workouts. Be warned, that setting this to a frequency of hourly or less may get you flagged by Peloton as a bad actor and they may reset your password.")] public int PollingIntervalSeconds { get; set; } - [Obsolete] - public bool? PythonAndGUploadInstalled { get; set; } - public bool CloseWindowOnFinish { get; set; } public bool CheckForUpdates { get; set; } + public static string DataDirectory => Path.GetFullPath(Path.Join(Statics.DefaultDataDirectory, "data")); - public static string DataDirectory = Path.GetFullPath(Path.Join(Environment.CurrentDirectory, "data")); + public string WorkingDirectory => Statics.DefaultTempDirectory; + public string OutputDirectory => Statics.DefaultOutputDirectory; public string FailedDirectory => Path.GetFullPath(Path.Join(OutputDirectory, "failed")); public string DownloadDirectory => Path.GetFullPath(Path.Join(WorkingDirectory, "downloaded")); public string UploadDirectory => Path.GetFullPath(Path.Join(WorkingDirectory, "upload")); + } @@ -112,26 +97,12 @@ public Format() Strength= new Strength(); } - [DisplayName("FIT")] - [Description("Enabled indicates you wish downloaded workouts to be converted to FIT")] public bool Fit { get; set; } - [DisplayName("JSON")] - [Description("Enabled indicates you wish downloaded workouts to be converted to JSON")] public bool Json { get; set; } - [DisplayName("TCX")] - [Description("Enabled indicates you wish downloaded workouts to be converted to TCX.")] public bool Tcx { get; set; } - [DisplayName("Save a local copy")] - [Description("Save any converted workouts to your specified Output Directory")] public bool SaveLocalCopy { get; set; } - [DisplayName("Include Time in HR Zones")] - [Description("Only use this if you are unable to configure your Max HR on Garmin Connect. When set to True, P2G will attempt to capture the time spent in each HR Zone per the data returned by Peloton.")] public bool IncludeTimeInHRZones { get; set; } - [DisplayName("Include Time in Power Zones")] - [Description("Only use this if you are unable to configure your FTP and Power Zones on Garmin Connect. When set to True, P2G will attempt to capture the time spent in each Power Zone per the data returned by Peloton.")] public bool IncludeTimeInPowerZones { get; set; } - [DisplayName("Device Info Path")] - [Description("The path to your deviceInfo.xml file.")] public string DeviceInfoPath { get; set; } public Cycling Cycling { get; set; } public Running Running { get; set; } @@ -190,25 +161,19 @@ public Peloton() public class Garmin : ICredentials { - public Garmin() - { - UploadStrategy = UploadStrategy.NativeImplV1; - } - public EncryptionVersion EncryptionVersion { get; set; } public string Email { get; set; } public string Password { get; set; } public bool TwoStepVerificationEnabled { get; set; } public bool Upload { get; set; } public FileFormat FormatToUpload { get; set; } - public UploadStrategy UploadStrategy { get; set; } } public class ApiSettings { public ApiSettings() { - HostUrl = "http://localhost"; + HostUrl = "http://*:8080"; } public string HostUrl { get; set; } @@ -218,7 +183,7 @@ public class WebUISettings { public WebUISettings() { - HostUrl = "http://localhost"; + HostUrl = "http://*:8080"; } public string HostUrl { get; set; } @@ -254,13 +219,6 @@ public class Developer public string UserAgent { get; set; } } -public enum UploadStrategy : byte -{ - PythonAndGuploadInstalledLocally = 0, - WindowsExeBundledPython = 1, - NativeImplV1 = 2 -} - public enum FileFormat : byte { Fit = 0, diff --git a/src/Common/Constants.cs b/src/Common/Constants.cs index c31a41cc9..daf618902 100644 --- a/src/Common/Constants.cs +++ b/src/Common/Constants.cs @@ -7,6 +7,8 @@ public static class Constants public const string ConsoleAppName = "p2g_console"; public const string ApiName = "p2g_api"; public const string WebUIName = "p2g_webui"; - public const string AppVersion = "3.6.1"; + public const string ClientUIName = "p2g_clientui"; + + public const string AppVersion = "4.0.0-rc"; } } diff --git a/src/Common/Database/SettingsDb.cs b/src/Common/Database/SettingsDb.cs index 617871e11..36a5d89d8 100644 --- a/src/Common/Database/SettingsDb.cs +++ b/src/Common/Database/SettingsDb.cs @@ -5,6 +5,7 @@ using Serilog; using System; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; namespace Common.Database @@ -28,7 +29,24 @@ public class SettingsDb : DbBase, ISettingsDb public SettingsDb(IFileHandling fileHandler) : base("Settings", fileHandler) { - _db = new DataStore(DbPath); + _db = new DataStore(DbPath); + Init(); + } + + private void Init() + { + try + { + var settings = _db.GetItem("1"); + } + catch (KeyNotFoundException) + { + var success = _db.InsertItem("1", _defaultSettings); + if (!success) + { + _logger.Error($"Failed to init default Settings to Db for default user."); + } + } } public Settings GetLegacySettings() @@ -53,7 +71,7 @@ public Settings GetLegacySettings() } } - public async Task GetSettingsAsync(int userId) + public Task GetSettingsAsync(int userId) { using var metrics = DbMetrics.DbActionDuration .WithLabels("get", DbName) @@ -67,20 +85,7 @@ public async Task GetSettingsAsync(int userId) settings.Peloton.Decrypt(); settings.Garmin.Decrypt(); - return settings; - } - catch (KeyNotFoundException k) - { - _logger.Verbose(k, $"Settings key not found in DB for user {userId}. Creating default Settings."); - - var success = await _db.InsertItemAsync(userId.ToString(), _defaultSettings); - if (!success) - { - _logger.Error($"Failed to save default Settings to Db for user {userId}"); - throw; - } - - return _defaultSettings; + return Task.FromResult(settings); } catch (Exception e) { diff --git a/src/Common/Dto/Api/IError.cs b/src/Common/Dto/Api/IError.cs deleted file mode 100644 index 9f162e81d..000000000 --- a/src/Common/Dto/Api/IError.cs +++ /dev/null @@ -1,34 +0,0 @@ -namespace Common.Dto.Api -{ - public interface IErrorResponse - { - public string Message { get; set; } - public ErrorCode Code { get; set; } - } - - public class ErrorResponse : IErrorResponse - { - public string Message { get; set; } - public ErrorCode Code { get; set; } - - public ErrorResponse() { } - - public ErrorResponse(string message) - { - Message = message; - } - - public ErrorResponse(string message, ErrorCode code) - { - Message = message; - Code = code; - } - } - - public enum ErrorCode : ushort - { - None = 0, - - NeedToInitGarminMFAAuth = 100, - } -} diff --git a/src/Common/Dto/ServiceResult.cs b/src/Common/Dto/ServiceResult.cs index 211c60d14..fd0f59da0 100644 --- a/src/Common/Dto/ServiceResult.cs +++ b/src/Common/Dto/ServiceResult.cs @@ -1,5 +1,4 @@ -using Common.Dto.Api; -using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; @@ -31,28 +30,4 @@ public class ServiceError : IServiceError public Exception Exception { get; init; } public string Message { get; init; } public bool IsServerException { get; init; } -} - -public static class ServiceResultExtensions -{ - public static bool IsErrored(this IServiceResult serviceResult) => !serviceResult.Successful; - - public static ActionResult GetResultForError(this IServiceResult serviceResult) - { - if (serviceResult.Error is null) - return new ObjectResult(new ErrorResponse($"Unexpected error occurred.")) - { - StatusCode = StatusCodes.Status500InternalServerError - }; - - if (serviceResult.Error.IsServerException) - { - return new ObjectResult(new ErrorResponse(serviceResult.Error.Message)) - { - StatusCode = StatusCodes.Status500InternalServerError - }; - } - - return new BadRequestObjectResult(new ErrorResponse(serviceResult.Error.Message)); - } } \ No newline at end of file diff --git a/src/Common/FileHandling.cs b/src/Common/FileHandling.cs index abc7ca2cf..e4b05cf95 100644 --- a/src/Common/FileHandling.cs +++ b/src/Common/FileHandling.cs @@ -5,183 +5,182 @@ using System.Text.Json; using System.Xml.Serialization; -namespace Common +namespace Common; + +public interface IFileHandling { - public interface IFileHandling - { - void MkDirIfNotExists(string path); - bool DirExists(string path); - bool FileExists(string path); - string[] GetFiles(string path); - - T DeserializeJson(string file); - bool TryDeserializeXml(string file, out T result) where T : new(); - void MoveFailedFile(string fromPath, string toPath); - void Copy(string from, string to, bool overwrite); - bool WriteToFile(string path, string content); - void Cleanup(string dir); - } - - public class IOWrapper : IFileHandling - { - private static readonly ILogger _logger = LogContext.ForClass(); + void MkDirIfNotExists(string path); + bool DirExists(string path); + bool FileExists(string path); + string[] GetFiles(string path); + + T DeserializeJson(string file); + bool TryDeserializeXml(string file, out T result) where T : new(); + void MoveFailedFile(string fromPath, string toPath); + void Copy(string from, string to, bool overwrite); + bool WriteToFile(string path, string content); + void Cleanup(string dir); +} - public void MkDirIfNotExists(string path) - { - using var trace1 = Tracing.Trace(nameof(MkDirIfNotExists), "io") - .WithTag("path", path); - if (!DirExists(path)) - { - using var trace2 = Tracing.Trace("CreateDirectory", "io") - .WithTag("path", path); - _logger.Debug("Creating directory {@Directory}", path); - Directory.CreateDirectory(path); - } - } +public class IOWrapper : IFileHandling +{ + private static readonly ILogger _logger = LogContext.ForClass(); - public bool DirExists(string path) + public void MkDirIfNotExists(string path) + { + using var trace1 = Tracing.Trace(nameof(MkDirIfNotExists), "io") + .WithTag("path", path); + if (!DirExists(path)) { - using var trace1 = Tracing.Trace(nameof(DirExists), "io") + using var trace2 = Tracing.Trace("CreateDirectory", "io") .WithTag("path", path); - return Directory.Exists(path); + _logger.Debug("Creating directory {@Directory}", path); + Directory.CreateDirectory(path); } + } - public bool FileExists(string path) - { - using var trace1 = Tracing.Trace(nameof(FileExists), "io") - .WithTag("path", path); - var p = Path.GetFullPath(path); - return File.Exists(p); - } + public bool DirExists(string path) + { + using var trace1 = Tracing.Trace(nameof(DirExists), "io") + .WithTag("path", path); + return Directory.Exists(path); + } - public string[] GetFiles(string path) - { - using var trace1 = Tracing.Trace(nameof(GetFiles), "io") - .WithTag("path", path); - var files = Directory.GetFiles(path); + public bool FileExists(string path) + { + using var trace1 = Tracing.Trace(nameof(FileExists), "io") + .WithTag("path", path); + var p = Path.GetFullPath(path); + return File.Exists(p); + } - trace1?.AddTag("numFiles", files.Length); + public string[] GetFiles(string path) + { + using var trace1 = Tracing.Trace(nameof(GetFiles), "io") + .WithTag("path", path); + var files = Directory.GetFiles(path); - return files; - } + trace1?.AddTag("numFiles", files.Length); - public T DeserializeJson(string file) - { - using var trace1 = Tracing.Trace(nameof(DeserializeJson), "io") - .WithTag("path", file); + return files; + } - using (var reader = new StreamReader(file)) - { - return JsonSerializer.Deserialize(reader.ReadToEnd(), new JsonSerializerOptions() { PropertyNameCaseInsensitive = true }); - } - } + public T DeserializeJson(string file) + { + using var trace1 = Tracing.Trace(nameof(DeserializeJson), "io") + .WithTag("path", file); - public bool TryDeserializeXml(string file, out T result) where T : new() + using (var reader = new StreamReader(file)) { - result = default; + return JsonSerializer.Deserialize(reader.ReadToEnd(), new JsonSerializerOptions() { PropertyNameCaseInsensitive = true }); + } + } + + public bool TryDeserializeXml(string file, out T result) where T : new() + { + result = default; - using var trace = Tracing.Trace(nameof(TryDeserializeXml), "io") - .WithTag("path", file); - if (!File.Exists(file)) return false; + using var trace = Tracing.Trace(nameof(TryDeserializeXml), "io") + .WithTag("path", file); + if (!File.Exists(file)) return false; - XmlSerializer serializer = new XmlSerializer(typeof(T), new XmlRootAttribute("Creator")); - try + XmlSerializer serializer = new XmlSerializer(typeof(T), new XmlRootAttribute("Creator")); + try + { + using (Stream stream = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read)) { - using (Stream stream = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read)) + try { - try - { - result = (T)serializer.Deserialize(stream); - return true; - } - catch (Exception e) - { - _logger.Error(e, "Failed to deserialize {@File} from xml to type {@Type}.", file, typeof(T)); - trace?.AddTag("exception.message", e.Message); - trace?.AddTag("exception.stacktrace", e.StackTrace); - return false; - } + result = (T)serializer.Deserialize(stream); + return true; + } + catch (Exception e) + { + _logger.Error(e, "Failed to deserialize {@File} from xml to type {@Type}.", file, typeof(T)); + trace?.AddTag("exception.message", e.Message); + trace?.AddTag("exception.stacktrace", e.StackTrace); + return false; } - } - catch (Exception e) - { - _logger.Error(e, "Failed to read {@file}.", file); - trace?.AddTag("exception.message", e.Message); - trace?.AddTag("exception.stacktrace", e.StackTrace); - return false; } + } + catch (Exception e) + { + _logger.Error(e, "Failed to read {@file}.", file); + trace?.AddTag("exception.message", e.Message); + trace?.AddTag("exception.stacktrace", e.StackTrace); + return false; + } } - public void MoveFailedFile(string fromPath, string toPath) + public void MoveFailedFile(string fromPath, string toPath) + { + using var trace = Tracing.Trace(nameof(MoveFailedFile), "io") + .WithTag("path.from", fromPath) + .WithTag("path.to", toPath); + try { - using var trace = Tracing.Trace(nameof(MoveFailedFile), "io") - .WithTag("path.from", fromPath) - .WithTag("path.to", toPath); - try - { - MkDirIfNotExists(toPath); - toPath = Path.Join(toPath, Path.GetFileName(fromPath)); - _logger.Debug("Moving failed file from {@FromPath} to {@ToPath}", fromPath, toPath); - File.Copy(fromPath, toPath, overwrite: true); + MkDirIfNotExists(toPath); + toPath = Path.Join(toPath, Path.GetFileName(fromPath)); + _logger.Debug("Moving failed file from {@FromPath} to {@ToPath}", fromPath, toPath); + File.Copy(fromPath, toPath, overwrite: true); - } - catch (Exception e) - { - _logger.Error(e, "Failed to move file from {@FromPath} to {@ToPath}", fromPath, toPath); - trace?.AddTag("exception.message", e.Message); - trace?.AddTag("exception.stacktrace", e.StackTrace); - } } - - public void Copy(string from, string to, bool overwrite) + catch (Exception e) { - using var trace1 = Tracing.Trace(nameof(Copy), "io") - .WithTag("path.from", from) - .WithTag("path.to", to) - .WithTag("overwrite", overwrite.ToString()); - File.Copy(from, to, overwrite); + _logger.Error(e, "Failed to move file from {@FromPath} to {@ToPath}", fromPath, toPath); + trace?.AddTag("exception.message", e.Message); + trace?.AddTag("exception.stacktrace", e.StackTrace); } + } - public bool WriteToFile(string path, string content) + public void Copy(string from, string to, bool overwrite) + { + using var trace1 = Tracing.Trace(nameof(Copy), "io") + .WithTag("path.from", from) + .WithTag("path.to", to) + .WithTag("overwrite", overwrite.ToString()); + File.Copy(from, to, overwrite); + } + + public bool WriteToFile(string path, string content) + { + using var trace = Tracing.Trace(nameof(WriteToFile), "io") + .WithTag("path", path); + try { - using var trace = Tracing.Trace(nameof(WriteToFile), "io") - .WithTag("path", path); - try - { - File.WriteAllText(path, content); - return true; - } - catch (Exception e) - { - _logger.Error(e, "Failed to write content to file {@Path}", path); - _logger.Verbose("Failed content: {@Content}", content); - trace?.AddTag("exception.message", e.Message); - trace?.AddTag("exception.stacktrace", e.StackTrace); - return false; - } + File.WriteAllText(path, content); + return true; + } + catch (Exception e) + { + _logger.Error(e, "Failed to write content to file {@Path}", path); + _logger.Verbose("Failed content: {@Content}", content); + trace?.AddTag("exception.message", e.Message); + trace?.AddTag("exception.stacktrace", e.StackTrace); + return false; } + } - public void Cleanup(string dir) - { - using var trace = Tracing.Trace(nameof(Cleanup), "io") - .WithTag("path", dir); - if (!DirExists(dir)) - return; + public void Cleanup(string dir) + { + using var trace = Tracing.Trace(nameof(Cleanup), "io") + .WithTag("path", dir); + if (!DirExists(dir)) + return; - using var trace2 = Tracing.Trace("DeleteDir", "io") - .WithTag("path", dir); + using var trace2 = Tracing.Trace("DeleteDir", "io") + .WithTag("path", dir); - try - { - _logger.Debug("Deleting directory: {@Directory}", dir); - Directory.Delete(dir, recursive: true); - } - catch (Exception e) - { - _logger.Error(e, "Failed to clean up directory: {@Directory}", dir); - trace2?.AddTag("exception.message", e.Message); - trace2?.AddTag("exception.stacktrace", e.StackTrace); - } + try + { + _logger.Debug("Deleting directory: {@Directory}", dir); + Directory.Delete(dir, recursive: true); + } + catch (Exception e) + { + _logger.Error(e, "Failed to clean up directory: {@Directory}", dir); + trace2?.AddTag("exception.message", e.Message); + trace2?.AddTag("exception.stacktrace", e.StackTrace); } } } diff --git a/src/Common/Helpers/Guard.cs b/src/Common/Helpers/Guard.cs deleted file mode 100644 index 8fb009dea..000000000 --- a/src/Common/Helpers/Guard.cs +++ /dev/null @@ -1,127 +0,0 @@ -using Common.Dto.Api; -using Microsoft.AspNetCore.Mvc; -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Common.Helpers; - -public static class Guard -{ - public static bool CheckIsNull(this T input, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input is null) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must not be null.")); - return true; - } - - return false; - } - - public static bool CheckIsNullOrEmpty(this string input, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (string.IsNullOrEmpty(input)) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must not be null or empty.")); - return true; - } - - return false; - } - - public static bool CheckIsNotNull(this T input, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input is not null) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must be null.")); - return true; - } - - return false; - } - - public static bool CheckIsGreaterThan(this int input, int limit, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input > limit) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must not be greater than {limit}.")); - return true; - } - - return false; - } - - public static bool CheckIsLessThanOrEqualTo(this int input, int limit, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input <= limit) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must be greater than {limit}.")); - return true; - } - - return false; - } - - public static bool CheckIsLessThan(this int input, int limit, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input < limit) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must be greater than or equal to {limit}.")); - return true; - } - - return false; - } - - public static bool CheckHasAny(this ICollection input, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input is not null && input.Any()) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must be empty.")); - return true; - } - - return false; - } - - public static bool CheckDoesNotHaveAny(this ICollection input, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input is null || !input.Any()) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must not be empty.")); - return true; - } - - return false; - } - - public static bool IsAfter(this DateTime input, DateTime limit, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input > limit) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must be before {limit}.")); - return true; - } - - return false; - } -} diff --git a/src/Common/ObservabilityStartup.cs b/src/Common/ObservabilityStartup.cs new file mode 100644 index 000000000..8b3ce49ed --- /dev/null +++ b/src/Common/ObservabilityStartup.cs @@ -0,0 +1,65 @@ +using Common.Http; +using Common.Observe; +using Common.Stateful; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Serilog; +using Serilog.Enrichers.Span; +using Serilog.Settings.Configuration; +using System.IO; + +namespace Common; + +public static class ObservabilityStartup +{ + public static void ConfigureClientUI(IServiceCollection services, ConfigurationManager configManager, AppConfiguration config) + { + FlurlConfiguration.Configure(config.Observability); + ConfigureLogging(configManager); + + // Setup initial Tracing Source + Tracing.Source = new(Statics.TracingService); + } + + public static void ConfigureApi(IServiceCollection services, ConfigurationManager configManager, AppConfiguration config) + { + FlurlConfiguration.Configure(config.Observability); + Tracing.EnableApiTracing(services, config.Observability.Jaeger); + ConfigureLogging(configManager); + + // Setup initial Tracing Source + Tracing.Source = new(Statics.TracingService); + } + + public static void ConfigureWebUI(IServiceCollection services, ConfigurationManager configManager, AppConfiguration config) + { + FlurlConfiguration.Configure(config.Observability); + Tracing.EnableWebUITracing(services, config.Observability.Jaeger); + ConfigureLogging(configManager); + + // Setup initial Tracing Source + Tracing.Source = new(Statics.TracingService); + } + + private static void ConfigureLogging(ConfigurationManager configManager) + { + var loggingConfig = new LoggerConfiguration() + .ReadFrom.Configuration(configManager, new ConfigurationReaderOptions() { SectionName = $"{nameof(Observability)}:Serilog" }) + .Enrich.WithSpan() + .Enrich.FromLogContext(); + + // Always write to app defined log file + loggingConfig.WriteTo.File( + Path.Join(Statics.DefaultOutputDirectory, $"{Statics.AppType}_log.txt"), + rollingInterval: RollingInterval.Day, + retainedFileCountLimit: 2, + shared: false, + hooks: new CaptureFilePathHook()); + + Log.Logger = loggingConfig.CreateLogger(); + + + Logging.LogSystemInformation(); + } +} diff --git a/src/Common/Observe/Logging.cs b/src/Common/Observe/Logging.cs index b2cf38e41..8c94be2d8 100644 --- a/src/Common/Observe/Logging.cs +++ b/src/Common/Observe/Logging.cs @@ -1,7 +1,11 @@ using Common.Dto; using Common.Stateful; using Serilog; - +using Serilog.Sinks.File; +using Serilog.Sinks.File.Header; +using System.IO; +using System.Text; + namespace Common.Observe; public class LogContext @@ -12,15 +16,52 @@ public class LogContext public static class Logging { + public static string CurrentFilePath { get; set; } + public static void LogSystemInformation() { Log.Information("*********************************************"); Log.Information("P2G Version: {@AppName} {@Version}", Statics.AppType, Constants.AppVersion); Log.Information("Operating System: {@Os}", SystemInformation.OS); Log.Information("OS Version: {@OsVersion}", SystemInformation.OSVersion); - Log.Information("DotNet Runtime: {@DotnetRuntime}", SystemInformation.OSVersion); + Log.Information("DotNet Runtime: {@DotnetRuntime}", SystemInformation.RunTimeVersion); Log.Information("Docker Deployment: {@IsDocker}", SystemInformation.RunningInDocker); Log.Information("Config path: {@ConfigPath}", Statics.ConfigPath); Log.Information("*********************************************"); } + + public static string GetSystemInformationLogMessage() + { + return $@" +********************************************* +P2G Version: {Statics.AppType} {Constants.AppVersion} +Operating System: {SystemInformation.OS} +OS Version: {SystemInformation.OSVersion} +DotNet Runtime: {SystemInformation.RunTimeVersion} +Docker Deployment: {SystemInformation.RunningInDocker} +Config path: {Statics.ConfigPath} +*********************************************"; + } +} + +public class CaptureFilePathHook : FileLifecycleHooks +{ + private HeaderWriter _headerHook; + + public CaptureFilePathHook() + { + _headerHook = new HeaderWriter(Logging.GetSystemInformationLogMessage); + } + + public override Stream OnFileOpened(string path, Stream underlyingStream, Encoding encoding) + { + Logging.CurrentFilePath = path; + + return _headerHook.OnFileOpened(path, underlyingStream, encoding); + } + + public override void OnFileDeleting(string path) + { + _headerHook.OnFileDeleting(path); + } } diff --git a/src/Common/Stateful/Statics.cs b/src/Common/Stateful/Statics.cs index 2bc8aadac..a3fbccc3e 100644 --- a/src/Common/Stateful/Statics.cs +++ b/src/Common/Stateful/Statics.cs @@ -1,4 +1,7 @@ -namespace Common.Stateful +using System; +using System.IO; + +namespace Common.Stateful { public static class Statics { @@ -6,6 +9,10 @@ public static class Statics public static string MetricPrefix = "p2g"; public static string TracingService = "p2g"; + public static string DefaultDataDirectory = Environment.CurrentDirectory; + public static string DefaultTempDirectory = Path.Join(Environment.CurrentDirectory, "working"); + public static string DefaultOutputDirectory = Path.Join(Environment.CurrentDirectory, "output"); + public static string ConfigPath; } } diff --git a/src/PelotonToGarminConsole/256x256.ico b/src/ConsoleClient/256x256.ico similarity index 100% rename from src/PelotonToGarminConsole/256x256.ico rename to src/ConsoleClient/256x256.ico diff --git a/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj b/src/ConsoleClient/ConsoleClient.csproj similarity index 85% rename from src/PelotonToGarminConsole/PelotonToGarminConsole.csproj rename to src/ConsoleClient/ConsoleClient.csproj index 6c88d2c50..6bc25e5c4 100644 --- a/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj +++ b/src/ConsoleClient/ConsoleClient.csproj @@ -2,9 +2,9 @@ Exe - net6.0 - PelotonToGarminConsole - PelotonToGarminConsole + net7.0 + ConsoleClient + ConsoleClient win10-x64;osx-x64;linux-x64 https://github.com/philosowaffle/peloton-to-garmin https://github.com/philosowaffle/peloton-to-garmin @@ -30,17 +30,17 @@ - + - + - - + + - + diff --git a/src/PelotonToGarminConsole/Program.cs b/src/ConsoleClient/Program.cs similarity index 88% rename from src/PelotonToGarminConsole/Program.cs rename to src/ConsoleClient/Program.cs index 6c90ccf5b..1af035473 100644 --- a/src/PelotonToGarminConsole/Program.cs +++ b/src/ConsoleClient/Program.cs @@ -6,7 +6,7 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using Peloton; -using PelotonToGarminConsole; +using ConsoleClient; using System; using System.IO; using Sync; @@ -19,6 +19,7 @@ using Philosowaffle.Capability.ReleaseChecks; using Garmin.Auth; using Serilog.Settings.Configuration; +using Common.Observe; Statics.AppType = Constants.ConsoleAppName; Statics.MetricPrefix = Constants.ConsoleAppName; @@ -52,6 +53,15 @@ static IHostBuilder CreateHostBuilder(string[] args) .ReadFrom.Configuration(ctx.Configuration, new ConfigurationReaderOptions() { SectionName = "Observability:Serilog" }) .Enrich.WithSpan() .Enrich.FromLogContext(); + + logConfig.WriteTo.Console(); + + logConfig.WriteTo.File( + Path.Join(Statics.DefaultOutputDirectory, $"{Statics.AppType}_log.txt"), + rollingInterval: RollingInterval.Day, + retainedFileCountLimit: 2, + shared: false, + hooks: new CaptureFilePathHook()); }) .ConfigureServices((hostContext, services) => { diff --git a/src/PelotonToGarminConsole/Properties/launchSettings.json b/src/ConsoleClient/Properties/launchSettings.json similarity index 95% rename from src/PelotonToGarminConsole/Properties/launchSettings.json rename to src/ConsoleClient/Properties/launchSettings.json index daeb15bd2..b51da5f65 100644 --- a/src/PelotonToGarminConsole/Properties/launchSettings.json +++ b/src/ConsoleClient/Properties/launchSettings.json @@ -8,7 +8,7 @@ } }, "profiles": { - "PelotonToGarminConsole": { + "ConsoleClient": { "commandName": "Project", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" diff --git a/src/PelotonToGarminConsole/Startup.cs b/src/ConsoleClient/Startup.cs similarity index 95% rename from src/PelotonToGarminConsole/Startup.cs rename to src/ConsoleClient/Startup.cs index aadfea5d8..785d87c76 100644 --- a/src/PelotonToGarminConsole/Startup.cs +++ b/src/ConsoleClient/Startup.cs @@ -1,192 +1,188 @@ -using Common; -using Common.Observe; -using Common.Service; -using Common.Stateful; -using Core.GitHub; -using Garmin; -using Garmin.Auth; -using Microsoft.Extensions.Hosting; -using Peloton; -using Prometheus; -using Serilog; -using Sync; -using System; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; -using static Common.Observe.Metrics; -using Metrics = Common.Observe.Metrics; - -namespace PelotonToGarminConsole -{ - internal class Startup : BackgroundService - { - private static readonly ILogger _logger = LogContext.ForClass(); - private static readonly Gauge Health = Prometheus.Metrics.CreateGauge("p2g_health_info", "Health status for P2G."); - private static readonly Gauge NextSyncTime = Prometheus.Metrics.CreateGauge("p2g_next_sync_time", "The next time the sync will run in seconds since epoch."); - - private readonly ISettingsService _settingsService; - private readonly ISyncService _syncService; - private readonly IGitHubReleaseCheckService _githubService; - private readonly IGarminAuthenticationService _garminAuthService; - - public Startup(ISettingsService settingsService, ISyncService syncService, IGitHubReleaseCheckService gitHubService, IGarminAuthenticationService garminAuthService) - { - _settingsService = settingsService; - _syncService = syncService; - _githubService = gitHubService; - - Logging.LogSystemInformation(); - _garminAuthService = garminAuthService; - } - - protected override async Task ExecuteAsync(CancellationToken cancelToken) - { - _logger.Verbose("Begin."); - - var settings = await _settingsService.GetSettingsAsync(); - var appConfig = await _settingsService.GetAppConfigurationAsync(); - - try - { - PelotonService.ValidateConfig(settings.Peloton); - GarminUploader.ValidateConfig(settings); - Metrics.ValidateConfig(appConfig.Observability); - Tracing.ValidateConfig(appConfig.Observability); - - if (settings.App.CheckForUpdates) - { - var latestReleaseInformation = await _githubService.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion); - if (latestReleaseInformation.IsReleaseNewerThanInstalledVersion) - { - _logger.Information("*********************************************"); - _logger.Information("A new version is available: {@Version}", latestReleaseInformation.LatestVersion); - _logger.Information("Release Date: {@ReleaseDate}", latestReleaseInformation.ReleaseDate); - _logger.Information("Release Information: {@ReleaseUrl}", latestReleaseInformation.ReleaseUrl); - _logger.Information("*********************************************"); - - AppMetrics.SyncUpdateAvailableMetric(latestReleaseInformation.IsReleaseNewerThanInstalledVersion, latestReleaseInformation.LatestVersion); - } - } - } - catch (Exception ex) - { - _logger.Error(ex, "Exception during config validation. Please modify your configuration.local.json and relaunch the application."); - Health.Set(HealthStatus.Dead); - if (!settings.App.CloseWindowOnFinish) - Console.ReadLine(); - Environment.Exit(-1); - } - - Health.Set(HealthStatus.Healthy); - await RunAsync(cancelToken); - } - - private async Task RunAsync(CancellationToken cancelToken) - { - int exitCode = 0; - - var appConfig = await _settingsService.GetAppConfigurationAsync(); - - Log.Information("*********************************************"); - using var metrics = Metrics.EnableMetricsServer(appConfig.Observability.Prometheus); - using var metricsCollector = Metrics.EnableCollector(appConfig.Observability.Prometheus); - using var tracing = Tracing.EnableConsoleTracing(appConfig.Observability.Jaeger); - Log.Information("*********************************************"); - - Tracing.Source = new(Statics.TracingService); - Metrics.CreateAppInfo(); - - var settings = await _settingsService.GetSettingsAsync(); - - try - { - if (settings.Peloton.NumWorkoutsToDownload <= 0) - { - Console.Write("How many workouts to grab? "); - int num = Convert.ToInt32(Console.ReadLine()); - settings.Peloton.NumWorkoutsToDownload = num; - } - - if (settings.App.EnablePolling) - { - if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled && settings.App.EnablePolling) - { - _logger.Error("Polling cannot be enabled when Garmin TwoStepVerification is enabled."); - _logger.Information("Sync Service stopped."); - return; - } - - while (!cancelToken.IsCancellationRequested) - { - settings = await _settingsService.GetSettingsAsync(); - - if (settings.App.CheckForUpdates) - { - var latestReleaseInformation = await _githubService.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion); - if (latestReleaseInformation.IsReleaseNewerThanInstalledVersion) - { - _logger.Information("*********************************************"); - _logger.Information("A new version is available: {@Version}", latestReleaseInformation.LatestVersion); - _logger.Information("Release Date: {@ReleaseDate}", latestReleaseInformation.ReleaseDate); - _logger.Information("Release Information: {@ReleaseUrl}", latestReleaseInformation.ReleaseUrl); - _logger.Information("*********************************************"); - - AppMetrics.SyncUpdateAvailableMetric(latestReleaseInformation.IsReleaseNewerThanInstalledVersion, latestReleaseInformation.LatestVersion); - } - } - - var syncResult = await _syncService.SyncAsync(settings.Peloton.NumWorkoutsToDownload); - Health.Set(syncResult.SyncSuccess ? HealthStatus.Healthy : HealthStatus.UnHealthy); - - Log.Information("Done"); - Log.Information("Sleeping for {@Seconds} seconds...", settings.App.PollingIntervalSeconds); - - var now = DateTime.UtcNow; - var nextRunTime = now.AddSeconds(settings.App.PollingIntervalSeconds); - NextSyncTime.Set(new DateTimeOffset(nextRunTime).ToUnixTimeSeconds()); - Thread.Sleep(settings.App.PollingIntervalSeconds * 1000); - } - } - else - { - if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled) - { - await _garminAuthService.RefreshGarminAuthenticationAsync(); - - Console.WriteLine("Detected Garmin Two Factor Enabled. Please check your email or phone for the Security Passcode sent by Garmin."); - var mfaCode = string.Empty; - var retryCount = 5; - while (retryCount > 0 && string.IsNullOrWhiteSpace(mfaCode)) - { - Console.Write("Enter Code: "); - mfaCode = Console.ReadLine(); - retryCount--; - } - - await _garminAuthService.CompleteMFAAuthAsync(mfaCode); - } - - await _syncService.SyncAsync(settings.Peloton.NumWorkoutsToDownload); - } - - _logger.Information("Done."); - } - catch (Exception ex) - { - _logger.Fatal(ex, "Uncaught Exception"); - Health.Set(HealthStatus.Dead); - exitCode = -2; - } - finally - { - _logger.Verbose("Exit."); - - if (!settings.App.CloseWindowOnFinish) - Console.ReadLine(); - - Environment.Exit(exitCode); - } - } - } -} +using Common; +using Common.Observe; +using Common.Service; +using Common.Stateful; +using Core.GitHub; +using Garmin; +using Garmin.Auth; +using Microsoft.Extensions.Hosting; +using Peloton; +using Prometheus; +using Serilog; +using Sync; +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using static Common.Observe.Metrics; +using Metrics = Common.Observe.Metrics; + +namespace ConsoleClient +{ + internal class Startup : BackgroundService + { + private static readonly ILogger _logger = LogContext.ForClass(); + private static readonly Gauge Health = Prometheus.Metrics.CreateGauge("p2g_health_info", "Health status for P2G."); + private static readonly Gauge NextSyncTime = Prometheus.Metrics.CreateGauge("p2g_next_sync_time", "The next time the sync will run in seconds since epoch."); + + private readonly ISettingsService _settingsService; + private readonly ISyncService _syncService; + private readonly IGitHubReleaseCheckService _githubService; + private readonly IGarminAuthenticationService _garminAuthService; + + public Startup(ISettingsService settingsService, ISyncService syncService, IGitHubReleaseCheckService gitHubService, IGarminAuthenticationService garminAuthService) + { + _settingsService = settingsService; + _syncService = syncService; + _githubService = gitHubService; + + Logging.LogSystemInformation(); + _garminAuthService = garminAuthService; + } + + protected override async Task ExecuteAsync(CancellationToken cancelToken) + { + _logger.Verbose("Begin."); + + var settings = await _settingsService.GetSettingsAsync(); + var appConfig = await _settingsService.GetAppConfigurationAsync(); + + try + { + PelotonService.ValidateConfig(settings.Peloton); + GarminUploader.ValidateConfig(settings); + Metrics.ValidateConfig(appConfig.Observability); + Tracing.ValidateConfig(appConfig.Observability); + + if (settings.App.CheckForUpdates) + { + var latestReleaseInformation = await _githubService.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion); + if (latestReleaseInformation.IsReleaseNewerThanInstalledVersion) + { + _logger.Information("*********************************************"); + _logger.Information("A new version is available: {@Version}", latestReleaseInformation.LatestVersion); + _logger.Information("Release Date: {@ReleaseDate}", latestReleaseInformation.ReleaseDate); + _logger.Information("Release Information: {@ReleaseUrl}", latestReleaseInformation.ReleaseUrl); + _logger.Information("*********************************************"); + + AppMetrics.SyncUpdateAvailableMetric(latestReleaseInformation.IsReleaseNewerThanInstalledVersion, latestReleaseInformation.LatestVersion); + } + } + } + catch (Exception ex) + { + _logger.Error(ex, "Exception during config validation. Please modify your configuration.local.json and relaunch the application."); + Health.Set(HealthStatus.Dead); + Console.ReadLine(); + Environment.Exit(-1); + } + + Health.Set(HealthStatus.Healthy); + await RunAsync(cancelToken); + } + + private async Task RunAsync(CancellationToken cancelToken) + { + int exitCode = 0; + + var appConfig = await _settingsService.GetAppConfigurationAsync(); + + Log.Information("*********************************************"); + using var metrics = Metrics.EnableMetricsServer(appConfig.Observability.Prometheus); + using var metricsCollector = Metrics.EnableCollector(appConfig.Observability.Prometheus); + using var tracing = Tracing.EnableConsoleTracing(appConfig.Observability.Jaeger); + Log.Information("*********************************************"); + + Tracing.Source = new(Statics.TracingService); + Metrics.CreateAppInfo(); + + var settings = await _settingsService.GetSettingsAsync(); + + try + { + if (settings.Peloton.NumWorkoutsToDownload <= 0) + { + Console.Write("How many workouts to grab? "); + int num = Convert.ToInt32(Console.ReadLine()); + settings.Peloton.NumWorkoutsToDownload = num; + } + + if (settings.App.EnablePolling) + { + if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled && settings.App.EnablePolling) + { + _logger.Error("Polling cannot be enabled when Garmin TwoStepVerification is enabled."); + _logger.Information("Sync Service stopped."); + return; + } + + while (!cancelToken.IsCancellationRequested) + { + settings = await _settingsService.GetSettingsAsync(); + + if (settings.App.CheckForUpdates) + { + var latestReleaseInformation = await _githubService.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion); + if (latestReleaseInformation.IsReleaseNewerThanInstalledVersion) + { + _logger.Information("*********************************************"); + _logger.Information("A new version is available: {@Version}", latestReleaseInformation.LatestVersion); + _logger.Information("Release Date: {@ReleaseDate}", latestReleaseInformation.ReleaseDate); + _logger.Information("Release Information: {@ReleaseUrl}", latestReleaseInformation.ReleaseUrl); + _logger.Information("*********************************************"); + + AppMetrics.SyncUpdateAvailableMetric(latestReleaseInformation.IsReleaseNewerThanInstalledVersion, latestReleaseInformation.LatestVersion); + } + } + + var syncResult = await _syncService.SyncAsync(settings.Peloton.NumWorkoutsToDownload); + Health.Set(syncResult.SyncSuccess ? HealthStatus.Healthy : HealthStatus.UnHealthy); + + Log.Information("Done"); + Log.Information("Sleeping for {@Seconds} seconds...", settings.App.PollingIntervalSeconds); + + var now = DateTime.UtcNow; + var nextRunTime = now.AddSeconds(settings.App.PollingIntervalSeconds); + NextSyncTime.Set(new DateTimeOffset(nextRunTime).ToUnixTimeSeconds()); + Thread.Sleep(settings.App.PollingIntervalSeconds * 1000); + } + } + else + { + if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled) + { + await _garminAuthService.RefreshGarminAuthenticationAsync(); + + Console.WriteLine("Detected Garmin Two Factor Enabled. Please check your email or phone for the Security Passcode sent by Garmin."); + var mfaCode = string.Empty; + var retryCount = 5; + while (retryCount > 0 && string.IsNullOrWhiteSpace(mfaCode)) + { + Console.Write("Enter Code: "); + mfaCode = Console.ReadLine(); + retryCount--; + } + + await _garminAuthService.CompleteMFAAuthAsync(mfaCode); + } + + await _syncService.SyncAsync(settings.Peloton.NumWorkoutsToDownload); + } + + _logger.Information("Done."); + } + catch (Exception ex) + { + _logger.Fatal(ex, "Uncaught Exception"); + Health.Set(HealthStatus.Dead); + exitCode = -2; + } + finally + { + _logger.Verbose("Exit."); + Console.ReadLine(); + Environment.Exit(exitCode); + } + } + } +} diff --git a/src/Conversion/Conversion.csproj b/src/Conversion/Conversion.csproj index 2328dc1b2..44c2bcc47 100644 --- a/src/Conversion/Conversion.csproj +++ b/src/Conversion/Conversion.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 true $(NoWarn);1591 diff --git a/src/Conversion/IConverter.cs b/src/Conversion/IConverter.cs index dcd575637..ecd5e69f0 100644 --- a/src/Conversion/IConverter.cs +++ b/src/Conversion/IConverter.cs @@ -194,7 +194,7 @@ protected void CopyToLocalSaveDir(string sourcePath, string workoutTitle, Settin var backupDest = Path.Join(localSaveDir, $"{workoutTitle}.{formatString}"); _fileHandler.Copy(sourcePath, backupDest, overwrite: true); - _logger.Information("[@Format] Backed up file {@File}", Format, backupDest); + _logger.Information("[{@Format}] Backed up file {@File}", Format, backupDest); } catch (Exception e) { diff --git a/src/Garmin/Garmin.csproj b/src/Garmin/Garmin.csproj index 77f3e8965..553883ff4 100644 --- a/src/Garmin/Garmin.csproj +++ b/src/Garmin/Garmin.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 true $(NoWarn);1591 diff --git a/src/Garmin/GarminUploader.cs b/src/Garmin/GarminUploader.cs index 423b51f27..d74381d05 100644 --- a/src/Garmin/GarminUploader.cs +++ b/src/Garmin/GarminUploader.cs @@ -6,7 +6,6 @@ using Prometheus; using Serilog; using System; -using System.Diagnostics; using System.IO; using System.Linq; using System.Threading.Tasks; @@ -72,19 +71,8 @@ public async Task UploadToGarminAsync() using var metrics = WorkoutUploadDuration .WithLabels(files.Count().ToString()).NewTimer(); - switch (settings.Garmin.UploadStrategy) - { - case UploadStrategy.PythonAndGuploadInstalledLocally: - case UploadStrategy.WindowsExeBundledPython: - UploadViaPython(files, settings); - _logger.Information("Upload complete."); - return; - case UploadStrategy.NativeImplV1: - default: - await UploadAsync(files, settings); - _logger.Information("Upload complete."); - return; - } + await UploadAsync(files, settings); + _logger.Information("Upload complete."); } private async Task UploadAsync(string[] files, Settings settings) @@ -119,84 +107,11 @@ private async Task RateLimit() await Task.Delay(waitDuration); } - private void UploadViaPython(string[] files, Settings settings) - { - using var tracing = Tracing.Trace($"{nameof(GarminUploader)}.{nameof(UploadViaPython)}.UploadToGarminViaPython") - .WithTag(TagKey.Category, "gupload"); - - settings.Garmin.EnsureGarminCredentialsAreProvided(); - - ProcessStartInfo start = new ProcessStartInfo(); - var paths = String.Join(" ", files.Select(p => $"\"{p}\"")); - var cmd = string.Empty; - - if (settings.Garmin.UploadStrategy == UploadStrategy.PythonAndGuploadInstalledLocally) - { - start.FileName = "gupload"; - cmd = $"-u {settings.Garmin.Email} -p {settings.Garmin.Password} {paths}"; - } else - { - paths = String.Join(" ", files.Select(f => $"\"{Path.GetFullPath(f)}\"")); - start.FileName = Path.Join(Environment.CurrentDirectory, "python", "upload.exe"); - cmd = $"-ge {settings.Garmin.Email} -gp {settings.Garmin.Password} -f {paths}"; - } - - _logger.Information("Beginning Garmin Upload."); - _logger.Information("Uploading to Garmin with the following parameters: {@File} {@Command}", start.FileName, cmd.Replace(settings.Garmin.Email, "**email**").Replace(settings.Garmin.Password, "**password**")); - - start.Arguments = cmd; - start.UseShellExecute = false; - start.CreateNoWindow = true; - start.RedirectStandardOutput = true; - start.RedirectStandardError = true; - - FilesToUpload.Set(files.Length); - if (files.Length > 20) - _logger.Information("Detected large number of files for upload to Garmin. Please be patient, this could take a while."); - using var process = Process.Start(start); - process.WaitForExit(); - - var stderr = process.StandardError.ReadToEnd(); - var stdout = process.StandardOutput.ReadToEnd(); - - if (!string.IsNullOrEmpty(stdout)) - _logger.Information(stdout); - - // Despite coming from StandardError, this is not necessarily an error, just the output - if (!string.IsNullOrEmpty(stderr)) - _logger.Information("GUpload: {Output}", stderr); - - if (process.HasExited && process.ExitCode != 0) - { - FailedUploadAttemptsGauge.Inc(); - throw new GarminUploadException("GUpload returned an error code. Failed to upload workouts.", process.ExitCode); - } else - { - FailedUploadAttemptsGauge.Set(0); - FilesToUpload.Set(0); - } - } - public static void ValidateConfig(Settings config) { if (config.Garmin.Upload == false) return; config.Garmin.EnsureGarminCredentialsAreProvided(); - - if (config.App.EnablePolling && config.Garmin.TwoStepVerificationEnabled) - throw new ArgumentException("App.EnablePolling cannot be true when Garmin.TwoStepVerificationEnabled is true."); - - if (config.App.PythonAndGUploadInstalled.HasValue) - { - _logger.Warning("App.PythonAndGuploadInstalledLocally setting is deprecated and will be removed in a future release. Please swith to using Garmin.UploadStrategy config."); - - if (config.Garmin.UploadStrategy == UploadStrategy.PythonAndGuploadInstalledLocally - && config.App.PythonAndGUploadInstalled.Value == false) - { - config.Garmin.UploadStrategy = UploadStrategy.WindowsExeBundledPython; - _logger.Warning("Detected use of deprecated config App.PythonAndGuploadInstalledLocally, setting Garmin.UploadStrategy to WindowsExeBundledPython=1"); - } - } } } } diff --git a/src/Peloton/Peloton.csproj b/src/Peloton/Peloton.csproj index 71b8f4d36..25110eccb 100644 --- a/src/Peloton/Peloton.csproj +++ b/src/Peloton/Peloton.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 true $(NoWarn);1591 diff --git a/src/WebUI/App.razor b/src/SharedUI/App.razor similarity index 84% rename from src/WebUI/App.razor rename to src/SharedUI/App.razor index 7fb3fe935..ce58da50b 100644 --- a/src/WebUI/App.razor +++ b/src/SharedUI/App.razor @@ -1,11 +1,11 @@  - + Not found - +

Sorry, there's nothing at this address.

diff --git a/src/SharedUI/IApiClient.cs b/src/SharedUI/IApiClient.cs new file mode 100644 index 000000000..7fbe893ac --- /dev/null +++ b/src/SharedUI/IApiClient.cs @@ -0,0 +1,39 @@ +using Api.Contract; +using Common; +using Flurl.Http; + +namespace SharedUI; +public interface IApiClient +{ + Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetRequest request); + Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetAllRequest request); + + Task SettingsGetAsync(); + Task SettingsAppPostAsync(Common.App appSettings); + Task SettingsFormatPostAsync(Format formatSettings); + Task SettingsPelotonPostAsync(SettingsPelotonPostRequest pelotonSettings); + Task SettingsGarminPostAsync(SettingsGarminPostRequest garminSettings); + + Task SyncGetAsync(); + Task SyncPostAsync(SyncPostRequest syncPostRequest); + + Task SystemInfoGetAsync(SystemInfoGetRequest systemInfoGetRequest); + Task SystemInfoGetLogsAsync(); + + Task GetAnnualProgressAsync(); + + Task GetGarminAuthenticationAsync(); + Task SignInToGarminAsync(); + Task SendGarminMfaTokenAsync(GarminAuthenticationMfaTokenPostRequest request); +} + +public class ApiClientException : Exception +{ + public ApiClientException(string? message, Exception innerException) : base(message, innerException) { } + public ApiClientException(ErrorResponse error) : base(error.Message, error.Exception) { } +} + +public class SyncTimeoutException : Exception +{ + public SyncTimeoutException(string? message, Exception innerException) : base(message, innerException) { } +} \ No newline at end of file diff --git a/src/SharedUI/Pages/About.razor b/src/SharedUI/Pages/About.razor new file mode 100644 index 000000000..f32d7ca95 --- /dev/null +++ b/src/SharedUI/Pages/About.razor @@ -0,0 +1,42 @@ +@page "/about" +@inherits TracingComponentBase +@inject IApiClient _apiClient + +About + +@if (systemInfo.NewerVersionAvailable.GetValueOrDefault()) +{ + A new version of P2G is available! Checkout the release notes to see whats new. +} + + + + +
+ +
+
+ + +
+ +
+
+
+ +@code { + private SystemInfoGetResponse systemInfo; + + public About() : base(nameof(About)) + { + systemInfo = new SystemInfoGetResponse(); + } + + protected override async Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(About)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + + var settings = await _apiClient.SettingsGetAsync(); + systemInfo = await _apiClient.SystemInfoGetAsync(new SystemInfoGetRequest() { CheckForUpdate = settings.App.CheckForUpdates}); + } +} diff --git a/src/WebUI/Pages/AnnualChallengeProgress.razor b/src/SharedUI/Pages/AnnualChallengeProgress.razor similarity index 87% rename from src/WebUI/Pages/AnnualChallengeProgress.razor rename to src/SharedUI/Pages/AnnualChallengeProgress.razor index 4dbedac55..a294bc1e9 100644 --- a/src/WebUI/Pages/AnnualChallengeProgress.razor +++ b/src/SharedUI/Pages/AnnualChallengeProgress.razor @@ -35,14 +35,15 @@
- @if (!annualProgress.Tiers.Any()) + @if (!loading && !annualProgress.Tiers.Any()) { - Looks like you haven't signed up for the Peloton Annual 2023 Challenge yet. Join the challenge on Peloton then check back here! + Looks like you haven't signed up for the Peloton Annual 2023 Challenge yet. Join the challenge on Peloton then check back here! }
@code { private ProgressGetResponse annualProgress; + private bool loading = true; public AnnualChallengeProgress() : base(nameof(AnnualChallengeProgress)) { @@ -56,10 +57,9 @@ { annualProgress = (await _apiClient.GetAnnualProgressAsync()) ?? new ProgressGetResponse() { Tiers = new List() }; } - catch (FlurlHttpException e) + catch (ApiClientException e) { - var error = await e.GetResponseJsonAsync(); - _toaster.AddError(error.Message); + _toaster.AddError(e.Message); Log.Error("UI - Failed to fetch Annual Challenge progress report.", e); annualProgress = new ProgressGetResponse() { Tiers = new List() }; } @@ -68,7 +68,10 @@ _toaster.AddError($"Failed to load Annual Challenge progress report - {e.Message} - See logs for details."); Log.Error("UI - Failed to load Annual Challenge progress report.", e); annualProgress = new ProgressGetResponse() { Tiers = new List() }; - } + } finally + { + loading = false; + } } public ThemeColor GetThemeColor(bool isOnTrack) diff --git a/src/WebUI/Pages/Index.razor b/src/SharedUI/Pages/Index.razor similarity index 94% rename from src/WebUI/Pages/Index.razor rename to src/SharedUI/Pages/Index.razor index eef7536b6..659cc5f1e 100644 --- a/src/WebUI/Pages/Index.razor +++ b/src/SharedUI/Pages/Index.razor @@ -1,4 +1,5 @@ @page "/" +@using SharedUI.Shared; @inherits TracingComponentBase @inject IApiClient _apiClient @inject IHxMessengerService _toaster; @@ -46,7 +47,7 @@ } - else if(!TodaysWorkouts.Any()) + else if (!TodaysWorkouts.Any()) { No workouts today. } @@ -54,21 +55,21 @@ {
Sync todays workouts -
+ } -@code { - +@code { + private bool TodaysWorkoutsAreLoading = true; private SyncGetResponse syncStatus; private SettingsGetResponse settings; private SystemInfoGetResponse systemInfo; - private ICollection TodaysWorkouts; - - private GarminMfaModal? _garminMfaModal; - + private ICollection TodaysWorkouts; + + private GarminMfaModal? _garminMfaModal; + public Index() : base(nameof(Index)) { syncStatus = new SyncGetResponse(); @@ -103,7 +104,8 @@ await getSyncStatusAsync; - } catch (Exception e) + } + catch (Exception e) { Log.Error("UI - Failed to fetch data for home page.", e); _toaster.AddError($"Failed to fetch data from P2G Api - {e.Message} - See logs for details."); @@ -123,7 +125,7 @@ try { syncStatus = await _apiClient.SyncGetAsync(); - } + } catch (Exception e) { Log.Error("UI - Failed to fetch Sync status.", e); @@ -137,14 +139,14 @@ try { - var startOfDayLocalTime = DateTime.Now.Date; - var today = startOfDayLocalTime.ToUniversalTime(); - var todaysWorkouts = await _apiClient.PelotonWorkoutsGetAsync(new PelotonWorkoutsGetAllRequest() - { - SinceDate = today, - WorkoutStatusFilter = WorkoutStatus.Completed, - ExcludeWorkoutTypes = settings.Peloton.ExcludeWorkoutTypes - }); + var startOfDayLocalTime = DateTime.Now.Date; + var today = startOfDayLocalTime.ToUniversalTime(); + var todaysWorkouts = await _apiClient.PelotonWorkoutsGetAsync(new PelotonWorkoutsGetAllRequest() + { + SinceDate = today, + WorkoutStatusFilter = WorkoutStatus.Completed, + ExcludeWorkoutTypes = settings.Peloton.ExcludeWorkoutTypes + }); return todaysWorkouts.Items; } @@ -171,24 +173,25 @@ { _toaster.AddInformation("No workouts to sync today."); return; - } - + } + await _garminMfaModal!.ShowAsync(ContinueSyncAsync); - } - - private async Task ContinueSyncAsync() - { - using var tracing = Tracing.ClientTrace($"{nameof(Index)}.{nameof(ContinueSyncAsync)}", kind: ActivityKind.Client); + } + + private async Task ContinueSyncAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(Index)}.{nameof(ContinueSyncAsync)}", kind: ActivityKind.Client); SyncPostResponse? syncResponse = null; try { - syncResponse = await _apiClient.SyncPostAsync(new SyncPostRequest() { WorkoutIds = TodaysWorkouts.Select(w => w.Id).ToList() }); + syncResponse = await _apiClient.SyncPostAsync(new SyncPostRequest() { WorkoutIds = TodaysWorkouts.Select(w => w!.Id!).ToList() }); } - catch (FlurlHttpTimeoutException te){ + catch (SyncTimeoutException te) + { _toaster.AddInformation("Long running sync will continue running in the background."); Log.Information("UI - Sync timeout reached.", te); - } - catch(Exception e) + } + catch (Exception e) { _toaster.AddError($"Failed to sync - {e.Message} - See logs for details."); Log.Error("UI - Failed to sync.", e); @@ -201,13 +204,13 @@ { _toaster.AddWarning($"Errors during sync - {error.Message}"); } - } + } + + if (syncResponse?.SyncSuccess ?? false) + _toaster.AddInformation("Success! Synced today's workouts."); + } + } - if (syncResponse?.SyncSuccess ?? false) - _toaster.AddInformation("Success! Synced today's workouts."); - } - } - private ThemeColor GetPillThemeColor(Common.Database.Status status) { switch (syncStatus.SyncStatus) diff --git a/src/SharedUI/Pages/Settings.razor b/src/SharedUI/Pages/Settings.razor new file mode 100644 index 000000000..2a258c342 --- /dev/null +++ b/src/SharedUI/Pages/Settings.razor @@ -0,0 +1,63 @@ +@page "/settings" +@inherits TracingComponentBase +@inject IApiClient _apiClient +@inject IHxMessengerService _toaster; + +Settings + +

Settings

+Documentation +
+
+ + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+
+ +@code { + + private string configDocumentation; + + public Settings() : base(nameof(Settings)) + { + var settings = new SettingsGetResponse(); + configDocumentation = string.Empty; + } + + protected override Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(Settings)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + return LoadDataAsync(); + } + + private async Task LoadDataAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(Settings)}.{nameof(LoadDataAsync)}", kind: ActivityKind.Client); + var systemInfo = await _apiClient.SystemInfoGetAsync(new SystemInfoGetRequest() { CheckForUpdate = false }); + + configDocumentation = systemInfo.Documentation + "/configuration/json.html"; + } +} \ No newline at end of file diff --git a/src/WebUI/Pages/Sync.razor b/src/SharedUI/Pages/Sync.razor similarity index 79% rename from src/WebUI/Pages/Sync.razor rename to src/SharedUI/Pages/Sync.razor index 063af6f0e..e9fa13881 100644 --- a/src/WebUI/Pages/Sync.razor +++ b/src/SharedUI/Pages/Sync.razor @@ -1,4 +1,5 @@ @page "/sync" +@using SharedUI.Shared; @inherits TracingComponentBase @inject IApiClient _apiClient; @inject IHxMessengerService _toaster; @@ -38,39 +39,24 @@ base.Dispose(); } - protected override async Task OnInitializedAsync() - { - using var tracing = Tracing.ClientTrace($"{nameof(Index)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); - - try - { - var getSettingsTask = _apiClient.SettingsGetAsync(); - var settings = await getSettingsTask; - } - catch (Exception e) - { - Log.Error("UI - Failed to fetch data for sync page.", e); - _toaster.AddError($"Failed to fetch data from P2G Api - {e.Message} - See logs for details."); - } - } - private async Task> LoadDataAsync(GridDataProviderRequest request) { using var tracing = Tracing.ClientTrace($"{nameof(Sync)}.{nameof(LoadDataAsync)}", kind: ActivityKind.Client); _toaster.Clear(); - try + try { var pageIndex = request.StartIndex / PageSize; - var recentWorkouts = await _apiClient.PelotonWorkoutsGetAsync(new PelotonWorkoutsGetRequest() { PageSize = PageSize, PageIndex = pageIndex}); + var recentWorkouts = await _apiClient.PelotonWorkoutsGetAsync(new PelotonWorkoutsGetRequest() { PageSize = PageSize, PageIndex = pageIndex }); return new GridDataProviderResult() { Data = recentWorkouts.Items, TotalCount = recentWorkouts.TotalItems }; - } catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) + } + catch (ApiClientException e) { - var error = await e.GetResponseJsonAsync(); - _toaster.AddError(error.Message); + _toaster.AddError(e.Message); Log.Error("UI - Failed to load Peloton workouts.", e); - } catch (Exception e) + } + catch (Exception e) { _toaster.AddError($"Failed to load Peloton workouts - {e.Message} - See logs for details."); Log.Error("UI - Failed to load Peloton workouts.", e); @@ -94,7 +80,7 @@ try { - var result = await _apiClient.SyncPostAsync(new SyncPostRequest() { WorkoutIds = selectedItems.Select(i => i.Id).ToList() }); + var result = await _apiClient.SyncPostAsync(new SyncPostRequest() { WorkoutIds = selectedItems.Select(i => i.Id!).ToList() }); selectedItems.Clear(); if (result.SyncSuccess) @@ -114,15 +100,14 @@ } } - catch (FlurlHttpTimeoutException te) + catch (SyncTimeoutException te) { _toaster.AddInformation("Long running sync will continue running in the background."); Log.Information("UI - Sync timeout reached.", te); } - catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) + catch (ApiClientException e) { - var error = await e.GetResponseJsonAsync(); - _toaster.AddError(error.Message); + _toaster.AddError(e.Message); Log.Error("UI - Failed to sync Peloton workouts.", e); } catch (Exception e) @@ -136,4 +121,4 @@ { return selectedItems.Any(); } -} +} \ No newline at end of file diff --git a/src/SharedUI/Properties/launchSettings.json b/src/SharedUI/Properties/launchSettings.json new file mode 100644 index 000000000..4065c5608 --- /dev/null +++ b/src/SharedUI/Properties/launchSettings.json @@ -0,0 +1,12 @@ +{ + "profiles": { + "SharedUI": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "applicationUrl": "https://localhost:54212;http://localhost:54213" + } + } +} \ No newline at end of file diff --git a/src/SharedUI/Shared/AppSettingsForm.razor b/src/SharedUI/Shared/AppSettingsForm.razor new file mode 100644 index 000000000..46a99e222 --- /dev/null +++ b/src/SharedUI/Shared/AppSettingsForm.razor @@ -0,0 +1,72 @@ +@inject IApiClient _apiClient +@inject IHxMessengerService _toaster; + + +
+
+ + + + + + + + + + +
+
+ +
+ +
+ Save + +
+ +@code { + private Common.App appSettings; + + public AppSettingsForm() + { + var settings = new SettingsGetResponse(); + appSettings = settings.App; + } + + protected override Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(AppSettingsForm)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + return LoadDataAsync(); + } + + private async Task LoadDataAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(SettingsGetResponse)}.{nameof(LoadDataAsync)}", kind: ActivityKind.Client); + var settings = await _apiClient.SettingsGetAsync(); + + appSettings = settings.App; + } + + protected async Task SaveAppSettings() + { + using var tracing = Tracing.ClientTrace($"{nameof(AppSettingsForm)}.{nameof(SaveAppSettings)}", kind: ActivityKind.Client); + + _toaster.Clear(); + + try + { + appSettings = await _apiClient.SettingsAppPostAsync(appSettings); + _toaster.AddInformation("App Settings Saved!"); + } + catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) + { + var error = await e.GetResponseJsonAsync(); + _toaster.AddError(error.Message); + } + catch (Exception e) + { + _toaster.AddError($"Failed to save App Settings - {e.Message} - See logs for details."); + Log.Error("UI - Failed to save App settings.", e); + } + } +} diff --git a/src/SharedUI/Shared/FormatSettingsForm.razor b/src/SharedUI/Shared/FormatSettingsForm.razor new file mode 100644 index 000000000..e758de7e0 --- /dev/null +++ b/src/SharedUI/Shared/FormatSettingsForm.razor @@ -0,0 +1,100 @@ +@inject IApiClient _apiClient +@inject IHxMessengerService _toaster; + + +
+
+ + + +
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+ + + Advanced + +
+ + + +
+
+
+
+
+
+ Save +
+ +@code { + private static ICollection lapTypes = Enum.GetValues(typeof(PreferredLapType)).Cast().ToList(); + + private Format formatSettings; + + public FormatSettingsForm() + { + var settings = new SettingsGetResponse(); + formatSettings = settings.Format; + } + + protected override Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(FormatSettingsForm)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + return LoadDataAsync(); + } + + private async Task LoadDataAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(FormatSettingsForm)}.{nameof(LoadDataAsync)}", kind: ActivityKind.Client); + var settings = await _apiClient.SettingsGetAsync(); + + formatSettings = settings.Format; + } + + protected async Task SaveFormatSettings() + { + using var tracing = Tracing.ClientTrace($"{nameof(FormatSettingsForm)}.{nameof(SaveFormatSettings)}", kind: ActivityKind.Client); + + _toaster.Clear(); + try + { + formatSettings = await _apiClient.SettingsFormatPostAsync(formatSettings); + _toaster.AddInformation("Format Settings Saved!"); + } + catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) + { + var error = await e.GetResponseJsonAsync(); + _toaster.AddError(error.Message); + } + catch (Exception e) + { + _toaster.AddError($"Failed to save Format Settings - {e.Message} - See logs for details."); + Log.Error("UI - Failed to save Format settings.", e); + } + } +} diff --git a/src/WebUI/Shared/GarminMfaModal.razor b/src/SharedUI/Shared/GarminMfaModal.razor similarity index 99% rename from src/WebUI/Shared/GarminMfaModal.razor rename to src/SharedUI/Shared/GarminMfaModal.razor index b1b0241a0..489b56edc 100644 --- a/src/WebUI/Shared/GarminMfaModal.razor +++ b/src/SharedUI/Shared/GarminMfaModal.razor @@ -107,7 +107,7 @@ await _successCallBack.Invoke(); _successCallBack = null; } - + await MfaModal!.HideAsync(); } catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) @@ -130,4 +130,4 @@ { _successCallBack = null; } -} +} \ No newline at end of file diff --git a/src/SharedUI/Shared/GarminSettingsForm.razor b/src/SharedUI/Shared/GarminSettingsForm.razor new file mode 100644 index 000000000..f01176448 --- /dev/null +++ b/src/SharedUI/Shared/GarminSettingsForm.razor @@ -0,0 +1,123 @@ +@inject IApiClient _apiClient +@inject IHxMessengerService _toaster; + + +
+
+ +
+ + +
+ + Auth + +
+
+ +
+
+ + + Password + @if (garminSettings.IsPasswordSet) + { + Password is set + } + + + @if (garminSettings.IsPasswordSet) + { + + } + + +
+
+
+ + + +
+
+ +
+ + + Advanced + +
+
+ +
+
+
+
+
+
+
+
+ Save +
+
+
+ +@code { + private static ICollection formatTypes = Enum.GetValues(typeof(FileFormat)).Cast().ToList(); + + private SettingsGarminGetResponse garminSettings; + + public GarminSettingsForm() + { + var settings = new SettingsGetResponse(); + garminSettings = settings.Garmin; + } + + protected override Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(GarminSettingsForm)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + return LoadDataAsync(); + } + + private async Task LoadDataAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(GarminSettingsForm)}.{nameof(LoadDataAsync)}", kind: ActivityKind.Client); + var settings = await _apiClient.SettingsGetAsync(); + + garminSettings = settings.Garmin; + } + + protected void ClearGarminPassword() + { + using var tracing = Tracing.ClientTrace($"{nameof(GarminSettingsForm)}.{nameof(ClearGarminPassword)}", kind: ActivityKind.Client); + garminSettings.Password = string.Empty; + garminSettings.IsPasswordSet = false; + } + + protected async Task SaveGarminSettings() + { + using var tracing = Tracing.ClientTrace($"{nameof(GarminSettingsForm)}.{nameof(SaveGarminSettings)}", kind: ActivityKind.Client); + + _toaster.Clear(); + + try + { + garminSettings = await _apiClient.SettingsGarminPostAsync(garminSettings.Map()); + _toaster.AddInformation("Garmin Settings Saved!"); + } + catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) + { + var error = await e.GetResponseJsonAsync(); + _toaster.AddError(error.Message); + } + catch (Exception e) + { + _toaster.AddError($"Failed to save Garmin Settings - {e.Message} - See logs for details."); + Log.Error("UI - Failed to save Garmin settings.", e); + } + } +} diff --git a/src/SharedUI/Shared/Logs.razor b/src/SharedUI/Shared/Logs.razor new file mode 100644 index 000000000..f7cdc2086 --- /dev/null +++ b/src/SharedUI/Shared/Logs.razor @@ -0,0 +1,30 @@ +@inherits TracingComponentBase +@inject IApiClient _apiClient +@inject IHxMessengerService _toaster; +@inject IJSRuntime JS + +

Logs

+ +
+
+        
+            @logs.LogText
+        
+    
+
+ +@code { + private SystemInfoLogsGetResponse logs; + + public Logs() : base(nameof(Logs)) + { + logs = new SystemInfoLogsGetResponse(); + } + + protected override async Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(Logs)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + + logs = await _apiClient.SystemInfoGetLogsAsync(); + } +} diff --git a/src/WebUI/Shared/MainLayout.razor b/src/SharedUI/Shared/MainLayout.razor similarity index 89% rename from src/WebUI/Shared/MainLayout.razor rename to src/SharedUI/Shared/MainLayout.razor index fd66ff9eb..eaa9a6671 100644 --- a/src/WebUI/Shared/MainLayout.razor +++ b/src/SharedUI/Shared/MainLayout.razor @@ -2,7 +2,7 @@
diff --git a/src/WebUI/Shared/MainLayout.razor.css b/src/SharedUI/Shared/MainLayout.razor.css similarity index 100% rename from src/WebUI/Shared/MainLayout.razor.css rename to src/SharedUI/Shared/MainLayout.razor.css diff --git a/src/WebUI/Shared/NavMenu.razor b/src/SharedUI/Shared/NavMenu.razor similarity index 100% rename from src/WebUI/Shared/NavMenu.razor rename to src/SharedUI/Shared/NavMenu.razor diff --git a/src/WebUI/Shared/NavMenu.razor.css b/src/SharedUI/Shared/NavMenu.razor.css similarity index 100% rename from src/WebUI/Shared/NavMenu.razor.css rename to src/SharedUI/Shared/NavMenu.razor.css diff --git a/src/SharedUI/Shared/PelotonSettingsForm.razor b/src/SharedUI/Shared/PelotonSettingsForm.razor new file mode 100644 index 000000000..3cf033d26 --- /dev/null +++ b/src/SharedUI/Shared/PelotonSettingsForm.razor @@ -0,0 +1,101 @@ +@inject IApiClient _apiClient +@inject IHxMessengerService _toaster; + + +
+
+ +
+
+ + + Password + @if (pelotonSettings.IsPasswordSet) + { + Password is set + } + + + @if (pelotonSettings.IsPasswordSet) + { + + } + + +
+
+ +
+
+ +
+
+
+ Save +
+ +@code { + private static ICollection workoutTypes = Enum.GetValues(typeof(WorkoutType)).Cast().ToList(); + + private SettingsPelotonGetResponse pelotonSettings; + + private List selectedWorkoutTypes = new List(); + + public PelotonSettingsForm() + { + var settings = new SettingsGetResponse(); + pelotonSettings = settings.Peloton; + } + + protected override Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(PelotonSettingsForm)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + return LoadDataAsync(); + } + + private async Task LoadDataAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(PelotonSettingsForm)}.{nameof(LoadDataAsync)}", kind: ActivityKind.Client); + var settings = await _apiClient.SettingsGetAsync(); + + pelotonSettings = settings.Peloton; + selectedWorkoutTypes = pelotonSettings.ExcludeWorkoutTypes.ToList(); + } + + protected void ClearPelotonPassword() + { + using var tracing = Tracing.ClientTrace($"{nameof(PelotonSettingsForm)}.{nameof(ClearPelotonPassword)}", kind: ActivityKind.Client); + pelotonSettings.Password = string.Empty; + pelotonSettings.IsPasswordSet = false; + } + + protected async Task SavePelotonSettings() + { + using var tracing = Tracing.ClientTrace($"{nameof(PelotonSettingsForm)}.{nameof(SavePelotonSettings)}", kind: ActivityKind.Client); + + _toaster.Clear(); + + try + { + pelotonSettings.ExcludeWorkoutTypes = selectedWorkoutTypes; + pelotonSettings = await _apiClient.SettingsPelotonPostAsync(pelotonSettings.Map()); + _toaster.AddInformation("Peloton Settings Saved!"); + } + catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) + { + var error = await e.GetResponseJsonAsync(); + _toaster.AddError(error.Message); + } + catch (Exception e) + { + _toaster.AddError($"Failed to save Peloton Settings - {e.Message} - See logs for details."); + Log.Error("UI - Failed to save Peloton settings.", e); + } + } +} diff --git a/src/SharedUI/Shared/SystemInfo.razor b/src/SharedUI/Shared/SystemInfo.razor new file mode 100644 index 000000000..a8d07bb51 --- /dev/null +++ b/src/SharedUI/Shared/SystemInfo.razor @@ -0,0 +1,67 @@ +@inherits TracingComponentBase +@inject IApiClient _apiClient + +
+ +
+ @systemInfo.Version @if (systemInfo.NewerVersionAvailable.GetValueOrDefault()) + { +

(newer version available: @systemInfo.LatestVersionInformation?.LatestVersion)

+ } +
+ + +
+ @systemInfo.OperatingSystem +
+ + +
+ @systemInfo.OperatingSystemVersion +
+ + +
+ @systemInfo.RunTimeVersion +
+ + +
+ @systemInfo.OutputDirectory +
+ + +
+ @systemInfo.TempDirectory +
+
+ + + + +@code { + private SystemInfoGetResponse systemInfo; + + public SystemInfo() : base(nameof(SystemInfo)) + { + systemInfo = new SystemInfoGetResponse(); + } + + protected override async Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(SystemInfo)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + + var settings = await _apiClient.SettingsGetAsync(); + systemInfo = await _apiClient.SystemInfoGetAsync(new SystemInfoGetRequest() { CheckForUpdate = settings.App.CheckForUpdates }); + } +} diff --git a/src/SharedUI/SharedUI.csproj b/src/SharedUI/SharedUI.csproj new file mode 100644 index 000000000..997ffa7cd --- /dev/null +++ b/src/SharedUI/SharedUI.csproj @@ -0,0 +1,32 @@ + + + + net7.0 + enable + enable + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/SharedUI/SharedUIStartup.cs b/src/SharedUI/SharedUIStartup.cs new file mode 100644 index 000000000..bf5165b51 --- /dev/null +++ b/src/SharedUI/SharedUIStartup.cs @@ -0,0 +1,13 @@ +using Havit.Blazor.Components.Web; +using Microsoft.Extensions.DependencyInjection; + +namespace SharedUI; + +public static class SharedUIStartup +{ + public static void ConfigureSharedUIServices(this IServiceCollection services) + { + services.AddHxServices(); + services.AddHxMessenger(); + } +} diff --git a/src/WebUI/TracingComponentBase.cs b/src/SharedUI/TracingComponentBase.cs similarity index 95% rename from src/WebUI/TracingComponentBase.cs rename to src/SharedUI/TracingComponentBase.cs index 58cd20c84..34192608c 100644 --- a/src/WebUI/TracingComponentBase.cs +++ b/src/SharedUI/TracingComponentBase.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Components; using System.Diagnostics; -namespace WebUI; +namespace SharedUI; public class TracingComponentBase : ComponentBase, IDisposable { diff --git a/src/SharedUI/_Imports.razor b/src/SharedUI/_Imports.razor new file mode 100644 index 000000000..2b4c31be6 --- /dev/null +++ b/src/SharedUI/_Imports.razor @@ -0,0 +1,18 @@ +@using System.Diagnostics +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Authorization +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using Microsoft.AspNetCore.Http; +@using Api.Contract +@using Common +@using Common.Dto +@using Common.Observe +@using Flurl.Http; +@using Havit.Blazor.Components.Web +@using Havit.Blazor.Components.Web.Bootstrap +@using Serilog diff --git a/src/WebUI/libman.json b/src/SharedUI/libman.json similarity index 93% rename from src/WebUI/libman.json rename to src/SharedUI/libman.json index 5a7762e69..7f2112ebe 100644 --- a/src/WebUI/libman.json +++ b/src/SharedUI/libman.json @@ -7,7 +7,7 @@ "destination": "wwwroot/lib/font-awesome/" }, { - "library": "bootstrap@5.2.1", + "library": "bootstrap@5.3.0", "destination": "wwwroot/lib/bootstrap/" }, { diff --git a/src/SharedUI/wwwroot/background.png b/src/SharedUI/wwwroot/background.png new file mode 100644 index 000000000..e15a3bde6 Binary files /dev/null and b/src/SharedUI/wwwroot/background.png differ diff --git a/src/WebUI/wwwroot/css/bootstrap/bootstrap.min.css b/src/SharedUI/wwwroot/css/bootstrap/bootstrap.min.css similarity index 100% rename from src/WebUI/wwwroot/css/bootstrap/bootstrap.min.css rename to src/SharedUI/wwwroot/css/bootstrap/bootstrap.min.css diff --git a/src/WebUI/wwwroot/css/bootstrap/bootstrap.min.css.map b/src/SharedUI/wwwroot/css/bootstrap/bootstrap.min.css.map similarity index 100% rename from src/WebUI/wwwroot/css/bootstrap/bootstrap.min.css.map rename to src/SharedUI/wwwroot/css/bootstrap/bootstrap.min.css.map diff --git a/src/SharedUI/wwwroot/css/forms.css b/src/SharedUI/wwwroot/css/forms.css new file mode 100644 index 000000000..2c871770d --- /dev/null +++ b/src/SharedUI/wwwroot/css/forms.css @@ -0,0 +1,3 @@ +label.form-label { + color: rgb(108, 117, 125); +} diff --git a/src/WebUI/wwwroot/css/open-iconic/FONT-LICENSE b/src/SharedUI/wwwroot/css/open-iconic/FONT-LICENSE similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/FONT-LICENSE rename to src/SharedUI/wwwroot/css/open-iconic/FONT-LICENSE diff --git a/src/WebUI/wwwroot/css/open-iconic/ICON-LICENSE b/src/SharedUI/wwwroot/css/open-iconic/ICON-LICENSE similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/ICON-LICENSE rename to src/SharedUI/wwwroot/css/open-iconic/ICON-LICENSE diff --git a/src/WebUI/wwwroot/css/open-iconic/README.md b/src/SharedUI/wwwroot/css/open-iconic/README.md similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/README.md rename to src/SharedUI/wwwroot/css/open-iconic/README.md diff --git a/src/WebUI/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/src/SharedUI/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css rename to src/SharedUI/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css diff --git a/src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.eot similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.eot rename to src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.eot diff --git a/src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.otf similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.otf rename to src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.otf diff --git a/src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.svg similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.svg rename to src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.svg diff --git a/src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf rename to src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf diff --git a/src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.woff similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.woff rename to src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.woff diff --git a/src/WebUI/wwwroot/css/site.css b/src/SharedUI/wwwroot/css/site.css similarity index 89% rename from src/WebUI/wwwroot/css/site.css rename to src/SharedUI/wwwroot/css/site.css index fb936e195..2882e0899 100644 --- a/src/WebUI/wwwroot/css/site.css +++ b/src/SharedUI/wwwroot/css/site.css @@ -1,5 +1,9 @@ @import url('open-iconic/font/css/open-iconic-bootstrap.min.css'); -@import url('../font-awesome/css/all.css'); +@import url('../lib/font-awesome/css/all.css'); +@import url('../lib/bootstrap/css/bootstrap.min.css'); +@import url('../lib/bootstrap-icons/font/bootstrap-icons.css'); +@import url('_content/Havit.Blazor.Components.Web.Bootstrap/defaults.css'); +@import url('forms.css'); html, body { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; @@ -23,6 +27,10 @@ a, .btn-link { padding-top: 1.1rem; } +a.nav-link { + padding: .5rem 1rem !important; +} + .valid.modified:not([type=checkbox]) { outline: 1px solid #26b050; } diff --git a/src/SharedUI/wwwroot/exampleJsInterop.js b/src/SharedUI/wwwroot/exampleJsInterop.js new file mode 100644 index 000000000..ea8d76ad2 --- /dev/null +++ b/src/SharedUI/wwwroot/exampleJsInterop.js @@ -0,0 +1,6 @@ +// This is a JavaScript module that is loaded on demand. It can export any number of +// functions, and may import other JavaScript modules if required. + +export function showPrompt(message) { + return prompt(message, 'Type anything here'); +} diff --git a/src/WebUI/wwwroot/favicon.ico b/src/SharedUI/wwwroot/favicon.ico similarity index 100% rename from src/WebUI/wwwroot/favicon.ico rename to src/SharedUI/wwwroot/favicon.ico diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE b/src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE new file mode 100644 index 000000000..3f97be60e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2019-2023 The Bootstrap Authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE.md b/src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE.md new file mode 100644 index 000000000..47f06b69a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2019-2021 The Bootstrap Authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/README.md b/src/SharedUI/wwwroot/lib/bootstrap-icons/README.md new file mode 100644 index 000000000..bb558ee72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/README.md @@ -0,0 +1,97 @@ +

+ + Bootstrap logo + +

+ +

Bootstrap Icons

+ +

+ Official open source SVG icon library for Bootstrap with over 1,800 icons. +
+ Explore Bootstrap Icons » +
+
+ Bootstrap + · + Themes + · + Blog +
+

+ +[![Bootstrap Icons preview](https://github.com/twbs/icons/blob/main/.github/preview.png)](https://icons.getbootstrap.com) + +## Install + +Bootstrap Icons are packaged up and published to npm. We only include the processed SVGs in this package—it's up to you and your team to implement. [Read our docs](https://icons.getbootstrap.com/) for usage instructions. + +```shell +npm i bootstrap-icons +``` + +For those [using Packagist](https://packagist.org/packages/twbs/bootstrap-icons), you can also install Bootstrap Icons via Composer: + +```shell +composer require twbs/bootstrap-icons +``` + +[Also available in Figma.](https://www.figma.com/community/file/1042482994486402696/Bootstrap-Icons) + +## Usage + +Depending on your setup, you can include Bootstrap Icons in a handful of ways. + +- Copy-paste SVGs as embedded HTML +- Reference via `` element +- Use the SVG sprite +- Include via CSS + +[See the docs for more information.](https://icons.getbootstrap.com/#usage) + +## Development + +[![Build Status](https://github.com/twbs/icons/workflows/Tests/badge.svg)](https://github.com/twbs/icons/actions?workflow=Tests) + +Clone the repo, install dependencies, and start the Hugo server locally. + +```shell +git clone https://github.com/twbs/icons/ +cd icons +npm i +npm start +``` + +Then open `http://localhost:4000` in your browser. + +### npm scripts + +Here are some key scripts you'll use during development. Be sure to look to our `package.json` for a complete list of scripts. + +| Script | Description | +| --- | --- | +| `start` | Alias for running `docs-serve` | +| `docs-serve` | Starts a local Hugo server | +| `pages` | Generates permalink pages for each icon with template Markdown | +| `icons` | Processes and optimizes SVGs in `icons` directory | + +## Adding SVGs + +Icons are typically only added by @mdo, but exceptions can be made. New glyphs are designed in Figma first on a 16x16px grid, then exported as flattened SVGs with `fill` (no stroke). Once a new SVG icon has been added to the `icons` directory, we use an npm script to: + +1. Optimize our SVGs with SVGO. +2. Modify the SVGs source HTML, removing all attributes before setting new attributes and values in our preferred order. + +Use `npm run icons` to run the script, run `npm run pages` to build permalink pages, complete those pages, and, finally, commit the results in a new branch for updating. + +## Publishing + +Documentation is published automatically when a new Git tag is published. See our [GitHub Actions](https://github.com/twbs/icons/tree/main/.github/workflows) and [`package.json`](https://github.com/twbs/icons/blob/main/package.json) for more information. + +## License + +MIT + +## Author + +[@mdo](https://github.com/mdo) diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/bootstrap-icons.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/bootstrap-icons.svg new file mode 100644 index 000000000..8104aeadb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/bootstrap-icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.css b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.css new file mode 100644 index 000000000..7f0bd54b1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.css @@ -0,0 +1,1876 @@ +@font-face { + font-display: block; + font-family: "bootstrap-icons"; + src: url("./fonts/bootstrap-icons.woff2?8d200481aa7f02a2d63a331fc782cfaf") format("woff2"), +url("./fonts/bootstrap-icons.woff?8d200481aa7f02a2d63a331fc782cfaf") format("woff"); +} + +.bi::before, +[class^="bi-"]::before, +[class*=" bi-"]::before { + display: inline-block; + font-family: bootstrap-icons !important; + font-style: normal; + font-weight: normal !important; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: -.125em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.bi-123::before { content: "\f67f"; } +.bi-alarm-fill::before { content: "\f101"; } +.bi-alarm::before { content: "\f102"; } +.bi-align-bottom::before { content: "\f103"; } +.bi-align-center::before { content: "\f104"; } +.bi-align-end::before { content: "\f105"; } +.bi-align-middle::before { content: "\f106"; } +.bi-align-start::before { content: "\f107"; } +.bi-align-top::before { content: "\f108"; } +.bi-alt::before { content: "\f109"; } +.bi-app-indicator::before { content: "\f10a"; } +.bi-app::before { content: "\f10b"; } +.bi-archive-fill::before { content: "\f10c"; } +.bi-archive::before { content: "\f10d"; } +.bi-arrow-90deg-down::before { content: "\f10e"; } +.bi-arrow-90deg-left::before { content: "\f10f"; } +.bi-arrow-90deg-right::before { content: "\f110"; } +.bi-arrow-90deg-up::before { content: "\f111"; } +.bi-arrow-bar-down::before { content: "\f112"; } +.bi-arrow-bar-left::before { content: "\f113"; } +.bi-arrow-bar-right::before { content: "\f114"; } +.bi-arrow-bar-up::before { content: "\f115"; } +.bi-arrow-clockwise::before { content: "\f116"; } +.bi-arrow-counterclockwise::before { content: "\f117"; } +.bi-arrow-down-circle-fill::before { content: "\f118"; } +.bi-arrow-down-circle::before { content: "\f119"; } +.bi-arrow-down-left-circle-fill::before { content: "\f11a"; } +.bi-arrow-down-left-circle::before { content: "\f11b"; } +.bi-arrow-down-left-square-fill::before { content: "\f11c"; } +.bi-arrow-down-left-square::before { content: "\f11d"; } +.bi-arrow-down-left::before { content: "\f11e"; } +.bi-arrow-down-right-circle-fill::before { content: "\f11f"; } +.bi-arrow-down-right-circle::before { content: "\f120"; } +.bi-arrow-down-right-square-fill::before { content: "\f121"; } +.bi-arrow-down-right-square::before { content: "\f122"; } +.bi-arrow-down-right::before { content: "\f123"; } +.bi-arrow-down-short::before { content: "\f124"; } +.bi-arrow-down-square-fill::before { content: "\f125"; } +.bi-arrow-down-square::before { content: "\f126"; } +.bi-arrow-down-up::before { content: "\f127"; } +.bi-arrow-down::before { content: "\f128"; } +.bi-arrow-left-circle-fill::before { content: "\f129"; } +.bi-arrow-left-circle::before { content: "\f12a"; } +.bi-arrow-left-right::before { content: "\f12b"; } +.bi-arrow-left-short::before { content: "\f12c"; } +.bi-arrow-left-square-fill::before { content: "\f12d"; } +.bi-arrow-left-square::before { content: "\f12e"; } +.bi-arrow-left::before { content: "\f12f"; } +.bi-arrow-repeat::before { content: "\f130"; } +.bi-arrow-return-left::before { content: "\f131"; } +.bi-arrow-return-right::before { content: "\f132"; } +.bi-arrow-right-circle-fill::before { content: "\f133"; } +.bi-arrow-right-circle::before { content: "\f134"; } +.bi-arrow-right-short::before { content: "\f135"; } +.bi-arrow-right-square-fill::before { content: "\f136"; } +.bi-arrow-right-square::before { content: "\f137"; } +.bi-arrow-right::before { content: "\f138"; } +.bi-arrow-up-circle-fill::before { content: "\f139"; } +.bi-arrow-up-circle::before { content: "\f13a"; } +.bi-arrow-up-left-circle-fill::before { content: "\f13b"; } +.bi-arrow-up-left-circle::before { content: "\f13c"; } +.bi-arrow-up-left-square-fill::before { content: "\f13d"; } +.bi-arrow-up-left-square::before { content: "\f13e"; } +.bi-arrow-up-left::before { content: "\f13f"; } +.bi-arrow-up-right-circle-fill::before { content: "\f140"; } +.bi-arrow-up-right-circle::before { content: "\f141"; } +.bi-arrow-up-right-square-fill::before { content: "\f142"; } +.bi-arrow-up-right-square::before { content: "\f143"; } +.bi-arrow-up-right::before { content: "\f144"; } +.bi-arrow-up-short::before { content: "\f145"; } +.bi-arrow-up-square-fill::before { content: "\f146"; } +.bi-arrow-up-square::before { content: "\f147"; } +.bi-arrow-up::before { content: "\f148"; } +.bi-arrows-angle-contract::before { content: "\f149"; } +.bi-arrows-angle-expand::before { content: "\f14a"; } +.bi-arrows-collapse::before { content: "\f14b"; } +.bi-arrows-expand::before { content: "\f14c"; } +.bi-arrows-fullscreen::before { content: "\f14d"; } +.bi-arrows-move::before { content: "\f14e"; } +.bi-aspect-ratio-fill::before { content: "\f14f"; } +.bi-aspect-ratio::before { content: "\f150"; } +.bi-asterisk::before { content: "\f151"; } +.bi-at::before { content: "\f152"; } +.bi-award-fill::before { content: "\f153"; } +.bi-award::before { content: "\f154"; } +.bi-back::before { content: "\f155"; } +.bi-backspace-fill::before { content: "\f156"; } +.bi-backspace-reverse-fill::before { content: "\f157"; } +.bi-backspace-reverse::before { content: "\f158"; } +.bi-backspace::before { content: "\f159"; } +.bi-badge-3d-fill::before { content: "\f15a"; } +.bi-badge-3d::before { content: "\f15b"; } +.bi-badge-4k-fill::before { content: "\f15c"; } +.bi-badge-4k::before { content: "\f15d"; } +.bi-badge-8k-fill::before { content: "\f15e"; } +.bi-badge-8k::before { content: "\f15f"; } +.bi-badge-ad-fill::before { content: "\f160"; } +.bi-badge-ad::before { content: "\f161"; } +.bi-badge-ar-fill::before { content: "\f162"; } +.bi-badge-ar::before { content: "\f163"; } +.bi-badge-cc-fill::before { content: "\f164"; } +.bi-badge-cc::before { content: "\f165"; } +.bi-badge-hd-fill::before { content: "\f166"; } +.bi-badge-hd::before { content: "\f167"; } +.bi-badge-tm-fill::before { content: "\f168"; } +.bi-badge-tm::before { content: "\f169"; } +.bi-badge-vo-fill::before { content: "\f16a"; } +.bi-badge-vo::before { content: "\f16b"; } +.bi-badge-vr-fill::before { content: "\f16c"; } +.bi-badge-vr::before { content: "\f16d"; } +.bi-badge-wc-fill::before { content: "\f16e"; } +.bi-badge-wc::before { content: "\f16f"; } +.bi-bag-check-fill::before { content: "\f170"; } +.bi-bag-check::before { content: "\f171"; } +.bi-bag-dash-fill::before { content: "\f172"; } +.bi-bag-dash::before { content: "\f173"; } +.bi-bag-fill::before { content: "\f174"; } +.bi-bag-plus-fill::before { content: "\f175"; } +.bi-bag-plus::before { content: "\f176"; } +.bi-bag-x-fill::before { content: "\f177"; } +.bi-bag-x::before { content: "\f178"; } +.bi-bag::before { content: "\f179"; } +.bi-bar-chart-fill::before { content: "\f17a"; } +.bi-bar-chart-line-fill::before { content: "\f17b"; } +.bi-bar-chart-line::before { content: "\f17c"; } +.bi-bar-chart-steps::before { content: "\f17d"; } +.bi-bar-chart::before { content: "\f17e"; } +.bi-basket-fill::before { content: "\f17f"; } +.bi-basket::before { content: "\f180"; } +.bi-basket2-fill::before { content: "\f181"; } +.bi-basket2::before { content: "\f182"; } +.bi-basket3-fill::before { content: "\f183"; } +.bi-basket3::before { content: "\f184"; } +.bi-battery-charging::before { content: "\f185"; } +.bi-battery-full::before { content: "\f186"; } +.bi-battery-half::before { content: "\f187"; } +.bi-battery::before { content: "\f188"; } +.bi-bell-fill::before { content: "\f189"; } +.bi-bell::before { content: "\f18a"; } +.bi-bezier::before { content: "\f18b"; } +.bi-bezier2::before { content: "\f18c"; } +.bi-bicycle::before { content: "\f18d"; } +.bi-binoculars-fill::before { content: "\f18e"; } +.bi-binoculars::before { content: "\f18f"; } +.bi-blockquote-left::before { content: "\f190"; } +.bi-blockquote-right::before { content: "\f191"; } +.bi-book-fill::before { content: "\f192"; } +.bi-book-half::before { content: "\f193"; } +.bi-book::before { content: "\f194"; } +.bi-bookmark-check-fill::before { content: "\f195"; } +.bi-bookmark-check::before { content: "\f196"; } +.bi-bookmark-dash-fill::before { content: "\f197"; } +.bi-bookmark-dash::before { content: "\f198"; } +.bi-bookmark-fill::before { content: "\f199"; } +.bi-bookmark-heart-fill::before { content: "\f19a"; } +.bi-bookmark-heart::before { content: "\f19b"; } +.bi-bookmark-plus-fill::before { content: "\f19c"; } +.bi-bookmark-plus::before { content: "\f19d"; } +.bi-bookmark-star-fill::before { content: "\f19e"; } +.bi-bookmark-star::before { content: "\f19f"; } +.bi-bookmark-x-fill::before { content: "\f1a0"; } +.bi-bookmark-x::before { content: "\f1a1"; } +.bi-bookmark::before { content: "\f1a2"; } +.bi-bookmarks-fill::before { content: "\f1a3"; } +.bi-bookmarks::before { content: "\f1a4"; } +.bi-bookshelf::before { content: "\f1a5"; } +.bi-bootstrap-fill::before { content: "\f1a6"; } +.bi-bootstrap-reboot::before { content: "\f1a7"; } +.bi-bootstrap::before { content: "\f1a8"; } +.bi-border-all::before { content: "\f1a9"; } +.bi-border-bottom::before { content: "\f1aa"; } +.bi-border-center::before { content: "\f1ab"; } +.bi-border-inner::before { content: "\f1ac"; } +.bi-border-left::before { content: "\f1ad"; } +.bi-border-middle::before { content: "\f1ae"; } +.bi-border-outer::before { content: "\f1af"; } +.bi-border-right::before { content: "\f1b0"; } +.bi-border-style::before { content: "\f1b1"; } +.bi-border-top::before { content: "\f1b2"; } +.bi-border-width::before { content: "\f1b3"; } +.bi-border::before { content: "\f1b4"; } +.bi-bounding-box-circles::before { content: "\f1b5"; } +.bi-bounding-box::before { content: "\f1b6"; } +.bi-box-arrow-down-left::before { content: "\f1b7"; } +.bi-box-arrow-down-right::before { content: "\f1b8"; } +.bi-box-arrow-down::before { content: "\f1b9"; } +.bi-box-arrow-in-down-left::before { content: "\f1ba"; } +.bi-box-arrow-in-down-right::before { content: "\f1bb"; } +.bi-box-arrow-in-down::before { content: "\f1bc"; } +.bi-box-arrow-in-left::before { content: "\f1bd"; } +.bi-box-arrow-in-right::before { content: "\f1be"; } +.bi-box-arrow-in-up-left::before { content: "\f1bf"; } +.bi-box-arrow-in-up-right::before { content: "\f1c0"; } +.bi-box-arrow-in-up::before { content: "\f1c1"; } +.bi-box-arrow-left::before { content: "\f1c2"; } +.bi-box-arrow-right::before { content: "\f1c3"; } +.bi-box-arrow-up-left::before { content: "\f1c4"; } +.bi-box-arrow-up-right::before { content: "\f1c5"; } +.bi-box-arrow-up::before { content: "\f1c6"; } +.bi-box-seam::before { content: "\f1c7"; } +.bi-box::before { content: "\f1c8"; } +.bi-braces::before { content: "\f1c9"; } +.bi-bricks::before { content: "\f1ca"; } +.bi-briefcase-fill::before { content: "\f1cb"; } +.bi-briefcase::before { content: "\f1cc"; } +.bi-brightness-alt-high-fill::before { content: "\f1cd"; } +.bi-brightness-alt-high::before { content: "\f1ce"; } +.bi-brightness-alt-low-fill::before { content: "\f1cf"; } +.bi-brightness-alt-low::before { content: "\f1d0"; } +.bi-brightness-high-fill::before { content: "\f1d1"; } +.bi-brightness-high::before { content: "\f1d2"; } +.bi-brightness-low-fill::before { content: "\f1d3"; } +.bi-brightness-low::before { content: "\f1d4"; } +.bi-broadcast-pin::before { content: "\f1d5"; } +.bi-broadcast::before { content: "\f1d6"; } +.bi-brush-fill::before { content: "\f1d7"; } +.bi-brush::before { content: "\f1d8"; } +.bi-bucket-fill::before { content: "\f1d9"; } +.bi-bucket::before { content: "\f1da"; } +.bi-bug-fill::before { content: "\f1db"; } +.bi-bug::before { content: "\f1dc"; } +.bi-building::before { content: "\f1dd"; } +.bi-bullseye::before { content: "\f1de"; } +.bi-calculator-fill::before { content: "\f1df"; } +.bi-calculator::before { content: "\f1e0"; } +.bi-calendar-check-fill::before { content: "\f1e1"; } +.bi-calendar-check::before { content: "\f1e2"; } +.bi-calendar-date-fill::before { content: "\f1e3"; } +.bi-calendar-date::before { content: "\f1e4"; } +.bi-calendar-day-fill::before { content: "\f1e5"; } +.bi-calendar-day::before { content: "\f1e6"; } +.bi-calendar-event-fill::before { content: "\f1e7"; } +.bi-calendar-event::before { content: "\f1e8"; } +.bi-calendar-fill::before { content: "\f1e9"; } +.bi-calendar-minus-fill::before { content: "\f1ea"; } +.bi-calendar-minus::before { content: "\f1eb"; } +.bi-calendar-month-fill::before { content: "\f1ec"; } +.bi-calendar-month::before { content: "\f1ed"; } +.bi-calendar-plus-fill::before { content: "\f1ee"; } +.bi-calendar-plus::before { content: "\f1ef"; } +.bi-calendar-range-fill::before { content: "\f1f0"; } +.bi-calendar-range::before { content: "\f1f1"; } +.bi-calendar-week-fill::before { content: "\f1f2"; } +.bi-calendar-week::before { content: "\f1f3"; } +.bi-calendar-x-fill::before { content: "\f1f4"; } +.bi-calendar-x::before { content: "\f1f5"; } +.bi-calendar::before { content: "\f1f6"; } +.bi-calendar2-check-fill::before { content: "\f1f7"; } +.bi-calendar2-check::before { content: "\f1f8"; } +.bi-calendar2-date-fill::before { content: "\f1f9"; } +.bi-calendar2-date::before { content: "\f1fa"; } +.bi-calendar2-day-fill::before { content: "\f1fb"; } +.bi-calendar2-day::before { content: "\f1fc"; } +.bi-calendar2-event-fill::before { content: "\f1fd"; } +.bi-calendar2-event::before { content: "\f1fe"; } +.bi-calendar2-fill::before { content: "\f1ff"; } +.bi-calendar2-minus-fill::before { content: "\f200"; } +.bi-calendar2-minus::before { content: "\f201"; } +.bi-calendar2-month-fill::before { content: "\f202"; } +.bi-calendar2-month::before { content: "\f203"; } +.bi-calendar2-plus-fill::before { content: "\f204"; } +.bi-calendar2-plus::before { content: "\f205"; } +.bi-calendar2-range-fill::before { content: "\f206"; } +.bi-calendar2-range::before { content: "\f207"; } +.bi-calendar2-week-fill::before { content: "\f208"; } +.bi-calendar2-week::before { content: "\f209"; } +.bi-calendar2-x-fill::before { content: "\f20a"; } +.bi-calendar2-x::before { content: "\f20b"; } +.bi-calendar2::before { content: "\f20c"; } +.bi-calendar3-event-fill::before { content: "\f20d"; } +.bi-calendar3-event::before { content: "\f20e"; } +.bi-calendar3-fill::before { content: "\f20f"; } +.bi-calendar3-range-fill::before { content: "\f210"; } +.bi-calendar3-range::before { content: "\f211"; } +.bi-calendar3-week-fill::before { content: "\f212"; } +.bi-calendar3-week::before { content: "\f213"; } +.bi-calendar3::before { content: "\f214"; } +.bi-calendar4-event::before { content: "\f215"; } +.bi-calendar4-range::before { content: "\f216"; } +.bi-calendar4-week::before { content: "\f217"; } +.bi-calendar4::before { content: "\f218"; } +.bi-camera-fill::before { content: "\f219"; } +.bi-camera-reels-fill::before { content: "\f21a"; } +.bi-camera-reels::before { content: "\f21b"; } +.bi-camera-video-fill::before { content: "\f21c"; } +.bi-camera-video-off-fill::before { content: "\f21d"; } +.bi-camera-video-off::before { content: "\f21e"; } +.bi-camera-video::before { content: "\f21f"; } +.bi-camera::before { content: "\f220"; } +.bi-camera2::before { content: "\f221"; } +.bi-capslock-fill::before { content: "\f222"; } +.bi-capslock::before { content: "\f223"; } +.bi-card-checklist::before { content: "\f224"; } +.bi-card-heading::before { content: "\f225"; } +.bi-card-image::before { content: "\f226"; } +.bi-card-list::before { content: "\f227"; } +.bi-card-text::before { content: "\f228"; } +.bi-caret-down-fill::before { content: "\f229"; } +.bi-caret-down-square-fill::before { content: "\f22a"; } +.bi-caret-down-square::before { content: "\f22b"; } +.bi-caret-down::before { content: "\f22c"; } +.bi-caret-left-fill::before { content: "\f22d"; } +.bi-caret-left-square-fill::before { content: "\f22e"; } +.bi-caret-left-square::before { content: "\f22f"; } +.bi-caret-left::before { content: "\f230"; } +.bi-caret-right-fill::before { content: "\f231"; } +.bi-caret-right-square-fill::before { content: "\f232"; } +.bi-caret-right-square::before { content: "\f233"; } +.bi-caret-right::before { content: "\f234"; } +.bi-caret-up-fill::before { content: "\f235"; } +.bi-caret-up-square-fill::before { content: "\f236"; } +.bi-caret-up-square::before { content: "\f237"; } +.bi-caret-up::before { content: "\f238"; } +.bi-cart-check-fill::before { content: "\f239"; } +.bi-cart-check::before { content: "\f23a"; } +.bi-cart-dash-fill::before { content: "\f23b"; } +.bi-cart-dash::before { content: "\f23c"; } +.bi-cart-fill::before { content: "\f23d"; } +.bi-cart-plus-fill::before { content: "\f23e"; } +.bi-cart-plus::before { content: "\f23f"; } +.bi-cart-x-fill::before { content: "\f240"; } +.bi-cart-x::before { content: "\f241"; } +.bi-cart::before { content: "\f242"; } +.bi-cart2::before { content: "\f243"; } +.bi-cart3::before { content: "\f244"; } +.bi-cart4::before { content: "\f245"; } +.bi-cash-stack::before { content: "\f246"; } +.bi-cash::before { content: "\f247"; } +.bi-cast::before { content: "\f248"; } +.bi-chat-dots-fill::before { content: "\f249"; } +.bi-chat-dots::before { content: "\f24a"; } +.bi-chat-fill::before { content: "\f24b"; } +.bi-chat-left-dots-fill::before { content: "\f24c"; } +.bi-chat-left-dots::before { content: "\f24d"; } +.bi-chat-left-fill::before { content: "\f24e"; } +.bi-chat-left-quote-fill::before { content: "\f24f"; } +.bi-chat-left-quote::before { content: "\f250"; } +.bi-chat-left-text-fill::before { content: "\f251"; } +.bi-chat-left-text::before { content: "\f252"; } +.bi-chat-left::before { content: "\f253"; } +.bi-chat-quote-fill::before { content: "\f254"; } +.bi-chat-quote::before { content: "\f255"; } +.bi-chat-right-dots-fill::before { content: "\f256"; } +.bi-chat-right-dots::before { content: "\f257"; } +.bi-chat-right-fill::before { content: "\f258"; } +.bi-chat-right-quote-fill::before { content: "\f259"; } +.bi-chat-right-quote::before { content: "\f25a"; } +.bi-chat-right-text-fill::before { content: "\f25b"; } +.bi-chat-right-text::before { content: "\f25c"; } +.bi-chat-right::before { content: "\f25d"; } +.bi-chat-square-dots-fill::before { content: "\f25e"; } +.bi-chat-square-dots::before { content: "\f25f"; } +.bi-chat-square-fill::before { content: "\f260"; } +.bi-chat-square-quote-fill::before { content: "\f261"; } +.bi-chat-square-quote::before { content: "\f262"; } +.bi-chat-square-text-fill::before { content: "\f263"; } +.bi-chat-square-text::before { content: "\f264"; } +.bi-chat-square::before { content: "\f265"; } +.bi-chat-text-fill::before { content: "\f266"; } +.bi-chat-text::before { content: "\f267"; } +.bi-chat::before { content: "\f268"; } +.bi-check-all::before { content: "\f269"; } +.bi-check-circle-fill::before { content: "\f26a"; } +.bi-check-circle::before { content: "\f26b"; } +.bi-check-square-fill::before { content: "\f26c"; } +.bi-check-square::before { content: "\f26d"; } +.bi-check::before { content: "\f26e"; } +.bi-check2-all::before { content: "\f26f"; } +.bi-check2-circle::before { content: "\f270"; } +.bi-check2-square::before { content: "\f271"; } +.bi-check2::before { content: "\f272"; } +.bi-chevron-bar-contract::before { content: "\f273"; } +.bi-chevron-bar-down::before { content: "\f274"; } +.bi-chevron-bar-expand::before { content: "\f275"; } +.bi-chevron-bar-left::before { content: "\f276"; } +.bi-chevron-bar-right::before { content: "\f277"; } +.bi-chevron-bar-up::before { content: "\f278"; } +.bi-chevron-compact-down::before { content: "\f279"; } +.bi-chevron-compact-left::before { content: "\f27a"; } +.bi-chevron-compact-right::before { content: "\f27b"; } +.bi-chevron-compact-up::before { content: "\f27c"; } +.bi-chevron-contract::before { content: "\f27d"; } +.bi-chevron-double-down::before { content: "\f27e"; } +.bi-chevron-double-left::before { content: "\f27f"; } +.bi-chevron-double-right::before { content: "\f280"; } +.bi-chevron-double-up::before { content: "\f281"; } +.bi-chevron-down::before { content: "\f282"; } +.bi-chevron-expand::before { content: "\f283"; } +.bi-chevron-left::before { content: "\f284"; } +.bi-chevron-right::before { content: "\f285"; } +.bi-chevron-up::before { content: "\f286"; } +.bi-circle-fill::before { content: "\f287"; } +.bi-circle-half::before { content: "\f288"; } +.bi-circle-square::before { content: "\f289"; } +.bi-circle::before { content: "\f28a"; } +.bi-clipboard-check::before { content: "\f28b"; } +.bi-clipboard-data::before { content: "\f28c"; } +.bi-clipboard-minus::before { content: "\f28d"; } +.bi-clipboard-plus::before { content: "\f28e"; } +.bi-clipboard-x::before { content: "\f28f"; } +.bi-clipboard::before { content: "\f290"; } +.bi-clock-fill::before { content: "\f291"; } +.bi-clock-history::before { content: "\f292"; } +.bi-clock::before { content: "\f293"; } +.bi-cloud-arrow-down-fill::before { content: "\f294"; } +.bi-cloud-arrow-down::before { content: "\f295"; } +.bi-cloud-arrow-up-fill::before { content: "\f296"; } +.bi-cloud-arrow-up::before { content: "\f297"; } +.bi-cloud-check-fill::before { content: "\f298"; } +.bi-cloud-check::before { content: "\f299"; } +.bi-cloud-download-fill::before { content: "\f29a"; } +.bi-cloud-download::before { content: "\f29b"; } +.bi-cloud-drizzle-fill::before { content: "\f29c"; } +.bi-cloud-drizzle::before { content: "\f29d"; } +.bi-cloud-fill::before { content: "\f29e"; } +.bi-cloud-fog-fill::before { content: "\f29f"; } +.bi-cloud-fog::before { content: "\f2a0"; } +.bi-cloud-fog2-fill::before { content: "\f2a1"; } +.bi-cloud-fog2::before { content: "\f2a2"; } +.bi-cloud-hail-fill::before { content: "\f2a3"; } +.bi-cloud-hail::before { content: "\f2a4"; } +.bi-cloud-haze-1::before { content: "\f2a5"; } +.bi-cloud-haze-fill::before { content: "\f2a6"; } +.bi-cloud-haze::before { content: "\f2a7"; } +.bi-cloud-haze2-fill::before { content: "\f2a8"; } +.bi-cloud-lightning-fill::before { content: "\f2a9"; } +.bi-cloud-lightning-rain-fill::before { content: "\f2aa"; } +.bi-cloud-lightning-rain::before { content: "\f2ab"; } +.bi-cloud-lightning::before { content: "\f2ac"; } +.bi-cloud-minus-fill::before { content: "\f2ad"; } +.bi-cloud-minus::before { content: "\f2ae"; } +.bi-cloud-moon-fill::before { content: "\f2af"; } +.bi-cloud-moon::before { content: "\f2b0"; } +.bi-cloud-plus-fill::before { content: "\f2b1"; } +.bi-cloud-plus::before { content: "\f2b2"; } +.bi-cloud-rain-fill::before { content: "\f2b3"; } +.bi-cloud-rain-heavy-fill::before { content: "\f2b4"; } +.bi-cloud-rain-heavy::before { content: "\f2b5"; } +.bi-cloud-rain::before { content: "\f2b6"; } +.bi-cloud-slash-fill::before { content: "\f2b7"; } +.bi-cloud-slash::before { content: "\f2b8"; } +.bi-cloud-sleet-fill::before { content: "\f2b9"; } +.bi-cloud-sleet::before { content: "\f2ba"; } +.bi-cloud-snow-fill::before { content: "\f2bb"; } +.bi-cloud-snow::before { content: "\f2bc"; } +.bi-cloud-sun-fill::before { content: "\f2bd"; } +.bi-cloud-sun::before { content: "\f2be"; } +.bi-cloud-upload-fill::before { content: "\f2bf"; } +.bi-cloud-upload::before { content: "\f2c0"; } +.bi-cloud::before { content: "\f2c1"; } +.bi-clouds-fill::before { content: "\f2c2"; } +.bi-clouds::before { content: "\f2c3"; } +.bi-cloudy-fill::before { content: "\f2c4"; } +.bi-cloudy::before { content: "\f2c5"; } +.bi-code-slash::before { content: "\f2c6"; } +.bi-code-square::before { content: "\f2c7"; } +.bi-code::before { content: "\f2c8"; } +.bi-collection-fill::before { content: "\f2c9"; } +.bi-collection-play-fill::before { content: "\f2ca"; } +.bi-collection-play::before { content: "\f2cb"; } +.bi-collection::before { content: "\f2cc"; } +.bi-columns-gap::before { content: "\f2cd"; } +.bi-columns::before { content: "\f2ce"; } +.bi-command::before { content: "\f2cf"; } +.bi-compass-fill::before { content: "\f2d0"; } +.bi-compass::before { content: "\f2d1"; } +.bi-cone-striped::before { content: "\f2d2"; } +.bi-cone::before { content: "\f2d3"; } +.bi-controller::before { content: "\f2d4"; } +.bi-cpu-fill::before { content: "\f2d5"; } +.bi-cpu::before { content: "\f2d6"; } +.bi-credit-card-2-back-fill::before { content: "\f2d7"; } +.bi-credit-card-2-back::before { content: "\f2d8"; } +.bi-credit-card-2-front-fill::before { content: "\f2d9"; } +.bi-credit-card-2-front::before { content: "\f2da"; } +.bi-credit-card-fill::before { content: "\f2db"; } +.bi-credit-card::before { content: "\f2dc"; } +.bi-crop::before { content: "\f2dd"; } +.bi-cup-fill::before { content: "\f2de"; } +.bi-cup-straw::before { content: "\f2df"; } +.bi-cup::before { content: "\f2e0"; } +.bi-cursor-fill::before { content: "\f2e1"; } +.bi-cursor-text::before { content: "\f2e2"; } +.bi-cursor::before { content: "\f2e3"; } +.bi-dash-circle-dotted::before { content: "\f2e4"; } +.bi-dash-circle-fill::before { content: "\f2e5"; } +.bi-dash-circle::before { content: "\f2e6"; } +.bi-dash-square-dotted::before { content: "\f2e7"; } +.bi-dash-square-fill::before { content: "\f2e8"; } +.bi-dash-square::before { content: "\f2e9"; } +.bi-dash::before { content: "\f2ea"; } +.bi-diagram-2-fill::before { content: "\f2eb"; } +.bi-diagram-2::before { content: "\f2ec"; } +.bi-diagram-3-fill::before { content: "\f2ed"; } +.bi-diagram-3::before { content: "\f2ee"; } +.bi-diamond-fill::before { content: "\f2ef"; } +.bi-diamond-half::before { content: "\f2f0"; } +.bi-diamond::before { content: "\f2f1"; } +.bi-dice-1-fill::before { content: "\f2f2"; } +.bi-dice-1::before { content: "\f2f3"; } +.bi-dice-2-fill::before { content: "\f2f4"; } +.bi-dice-2::before { content: "\f2f5"; } +.bi-dice-3-fill::before { content: "\f2f6"; } +.bi-dice-3::before { content: "\f2f7"; } +.bi-dice-4-fill::before { content: "\f2f8"; } +.bi-dice-4::before { content: "\f2f9"; } +.bi-dice-5-fill::before { content: "\f2fa"; } +.bi-dice-5::before { content: "\f2fb"; } +.bi-dice-6-fill::before { content: "\f2fc"; } +.bi-dice-6::before { content: "\f2fd"; } +.bi-disc-fill::before { content: "\f2fe"; } +.bi-disc::before { content: "\f2ff"; } +.bi-discord::before { content: "\f300"; } +.bi-display-fill::before { content: "\f301"; } +.bi-display::before { content: "\f302"; } +.bi-distribute-horizontal::before { content: "\f303"; } +.bi-distribute-vertical::before { content: "\f304"; } +.bi-door-closed-fill::before { content: "\f305"; } +.bi-door-closed::before { content: "\f306"; } +.bi-door-open-fill::before { content: "\f307"; } +.bi-door-open::before { content: "\f308"; } +.bi-dot::before { content: "\f309"; } +.bi-download::before { content: "\f30a"; } +.bi-droplet-fill::before { content: "\f30b"; } +.bi-droplet-half::before { content: "\f30c"; } +.bi-droplet::before { content: "\f30d"; } +.bi-earbuds::before { content: "\f30e"; } +.bi-easel-fill::before { content: "\f30f"; } +.bi-easel::before { content: "\f310"; } +.bi-egg-fill::before { content: "\f311"; } +.bi-egg-fried::before { content: "\f312"; } +.bi-egg::before { content: "\f313"; } +.bi-eject-fill::before { content: "\f314"; } +.bi-eject::before { content: "\f315"; } +.bi-emoji-angry-fill::before { content: "\f316"; } +.bi-emoji-angry::before { content: "\f317"; } +.bi-emoji-dizzy-fill::before { content: "\f318"; } +.bi-emoji-dizzy::before { content: "\f319"; } +.bi-emoji-expressionless-fill::before { content: "\f31a"; } +.bi-emoji-expressionless::before { content: "\f31b"; } +.bi-emoji-frown-fill::before { content: "\f31c"; } +.bi-emoji-frown::before { content: "\f31d"; } +.bi-emoji-heart-eyes-fill::before { content: "\f31e"; } +.bi-emoji-heart-eyes::before { content: "\f31f"; } +.bi-emoji-laughing-fill::before { content: "\f320"; } +.bi-emoji-laughing::before { content: "\f321"; } +.bi-emoji-neutral-fill::before { content: "\f322"; } +.bi-emoji-neutral::before { content: "\f323"; } +.bi-emoji-smile-fill::before { content: "\f324"; } +.bi-emoji-smile-upside-down-fill::before { content: "\f325"; } +.bi-emoji-smile-upside-down::before { content: "\f326"; } +.bi-emoji-smile::before { content: "\f327"; } +.bi-emoji-sunglasses-fill::before { content: "\f328"; } +.bi-emoji-sunglasses::before { content: "\f329"; } +.bi-emoji-wink-fill::before { content: "\f32a"; } +.bi-emoji-wink::before { content: "\f32b"; } +.bi-envelope-fill::before { content: "\f32c"; } +.bi-envelope-open-fill::before { content: "\f32d"; } +.bi-envelope-open::before { content: "\f32e"; } +.bi-envelope::before { content: "\f32f"; } +.bi-eraser-fill::before { content: "\f330"; } +.bi-eraser::before { content: "\f331"; } +.bi-exclamation-circle-fill::before { content: "\f332"; } +.bi-exclamation-circle::before { content: "\f333"; } +.bi-exclamation-diamond-fill::before { content: "\f334"; } +.bi-exclamation-diamond::before { content: "\f335"; } +.bi-exclamation-octagon-fill::before { content: "\f336"; } +.bi-exclamation-octagon::before { content: "\f337"; } +.bi-exclamation-square-fill::before { content: "\f338"; } +.bi-exclamation-square::before { content: "\f339"; } +.bi-exclamation-triangle-fill::before { content: "\f33a"; } +.bi-exclamation-triangle::before { content: "\f33b"; } +.bi-exclamation::before { content: "\f33c"; } +.bi-exclude::before { content: "\f33d"; } +.bi-eye-fill::before { content: "\f33e"; } +.bi-eye-slash-fill::before { content: "\f33f"; } +.bi-eye-slash::before { content: "\f340"; } +.bi-eye::before { content: "\f341"; } +.bi-eyedropper::before { content: "\f342"; } +.bi-eyeglasses::before { content: "\f343"; } +.bi-facebook::before { content: "\f344"; } +.bi-file-arrow-down-fill::before { content: "\f345"; } +.bi-file-arrow-down::before { content: "\f346"; } +.bi-file-arrow-up-fill::before { content: "\f347"; } +.bi-file-arrow-up::before { content: "\f348"; } +.bi-file-bar-graph-fill::before { content: "\f349"; } +.bi-file-bar-graph::before { content: "\f34a"; } +.bi-file-binary-fill::before { content: "\f34b"; } +.bi-file-binary::before { content: "\f34c"; } +.bi-file-break-fill::before { content: "\f34d"; } +.bi-file-break::before { content: "\f34e"; } +.bi-file-check-fill::before { content: "\f34f"; } +.bi-file-check::before { content: "\f350"; } +.bi-file-code-fill::before { content: "\f351"; } +.bi-file-code::before { content: "\f352"; } +.bi-file-diff-fill::before { content: "\f353"; } +.bi-file-diff::before { content: "\f354"; } +.bi-file-earmark-arrow-down-fill::before { content: "\f355"; } +.bi-file-earmark-arrow-down::before { content: "\f356"; } +.bi-file-earmark-arrow-up-fill::before { content: "\f357"; } +.bi-file-earmark-arrow-up::before { content: "\f358"; } +.bi-file-earmark-bar-graph-fill::before { content: "\f359"; } +.bi-file-earmark-bar-graph::before { content: "\f35a"; } +.bi-file-earmark-binary-fill::before { content: "\f35b"; } +.bi-file-earmark-binary::before { content: "\f35c"; } +.bi-file-earmark-break-fill::before { content: "\f35d"; } +.bi-file-earmark-break::before { content: "\f35e"; } +.bi-file-earmark-check-fill::before { content: "\f35f"; } +.bi-file-earmark-check::before { content: "\f360"; } +.bi-file-earmark-code-fill::before { content: "\f361"; } +.bi-file-earmark-code::before { content: "\f362"; } +.bi-file-earmark-diff-fill::before { content: "\f363"; } +.bi-file-earmark-diff::before { content: "\f364"; } +.bi-file-earmark-easel-fill::before { content: "\f365"; } +.bi-file-earmark-easel::before { content: "\f366"; } +.bi-file-earmark-excel-fill::before { content: "\f367"; } +.bi-file-earmark-excel::before { content: "\f368"; } +.bi-file-earmark-fill::before { content: "\f369"; } +.bi-file-earmark-font-fill::before { content: "\f36a"; } +.bi-file-earmark-font::before { content: "\f36b"; } +.bi-file-earmark-image-fill::before { content: "\f36c"; } +.bi-file-earmark-image::before { content: "\f36d"; } +.bi-file-earmark-lock-fill::before { content: "\f36e"; } +.bi-file-earmark-lock::before { content: "\f36f"; } +.bi-file-earmark-lock2-fill::before { content: "\f370"; } +.bi-file-earmark-lock2::before { content: "\f371"; } +.bi-file-earmark-medical-fill::before { content: "\f372"; } +.bi-file-earmark-medical::before { content: "\f373"; } +.bi-file-earmark-minus-fill::before { content: "\f374"; } +.bi-file-earmark-minus::before { content: "\f375"; } +.bi-file-earmark-music-fill::before { content: "\f376"; } +.bi-file-earmark-music::before { content: "\f377"; } +.bi-file-earmark-person-fill::before { content: "\f378"; } +.bi-file-earmark-person::before { content: "\f379"; } +.bi-file-earmark-play-fill::before { content: "\f37a"; } +.bi-file-earmark-play::before { content: "\f37b"; } +.bi-file-earmark-plus-fill::before { content: "\f37c"; } +.bi-file-earmark-plus::before { content: "\f37d"; } +.bi-file-earmark-post-fill::before { content: "\f37e"; } +.bi-file-earmark-post::before { content: "\f37f"; } +.bi-file-earmark-ppt-fill::before { content: "\f380"; } +.bi-file-earmark-ppt::before { content: "\f381"; } +.bi-file-earmark-richtext-fill::before { content: "\f382"; } +.bi-file-earmark-richtext::before { content: "\f383"; } +.bi-file-earmark-ruled-fill::before { content: "\f384"; } +.bi-file-earmark-ruled::before { content: "\f385"; } +.bi-file-earmark-slides-fill::before { content: "\f386"; } +.bi-file-earmark-slides::before { content: "\f387"; } +.bi-file-earmark-spreadsheet-fill::before { content: "\f388"; } +.bi-file-earmark-spreadsheet::before { content: "\f389"; } +.bi-file-earmark-text-fill::before { content: "\f38a"; } +.bi-file-earmark-text::before { content: "\f38b"; } +.bi-file-earmark-word-fill::before { content: "\f38c"; } +.bi-file-earmark-word::before { content: "\f38d"; } +.bi-file-earmark-x-fill::before { content: "\f38e"; } +.bi-file-earmark-x::before { content: "\f38f"; } +.bi-file-earmark-zip-fill::before { content: "\f390"; } +.bi-file-earmark-zip::before { content: "\f391"; } +.bi-file-earmark::before { content: "\f392"; } +.bi-file-easel-fill::before { content: "\f393"; } +.bi-file-easel::before { content: "\f394"; } +.bi-file-excel-fill::before { content: "\f395"; } +.bi-file-excel::before { content: "\f396"; } +.bi-file-fill::before { content: "\f397"; } +.bi-file-font-fill::before { content: "\f398"; } +.bi-file-font::before { content: "\f399"; } +.bi-file-image-fill::before { content: "\f39a"; } +.bi-file-image::before { content: "\f39b"; } +.bi-file-lock-fill::before { content: "\f39c"; } +.bi-file-lock::before { content: "\f39d"; } +.bi-file-lock2-fill::before { content: "\f39e"; } +.bi-file-lock2::before { content: "\f39f"; } +.bi-file-medical-fill::before { content: "\f3a0"; } +.bi-file-medical::before { content: "\f3a1"; } +.bi-file-minus-fill::before { content: "\f3a2"; } +.bi-file-minus::before { content: "\f3a3"; } +.bi-file-music-fill::before { content: "\f3a4"; } +.bi-file-music::before { content: "\f3a5"; } +.bi-file-person-fill::before { content: "\f3a6"; } +.bi-file-person::before { content: "\f3a7"; } +.bi-file-play-fill::before { content: "\f3a8"; } +.bi-file-play::before { content: "\f3a9"; } +.bi-file-plus-fill::before { content: "\f3aa"; } +.bi-file-plus::before { content: "\f3ab"; } +.bi-file-post-fill::before { content: "\f3ac"; } +.bi-file-post::before { content: "\f3ad"; } +.bi-file-ppt-fill::before { content: "\f3ae"; } +.bi-file-ppt::before { content: "\f3af"; } +.bi-file-richtext-fill::before { content: "\f3b0"; } +.bi-file-richtext::before { content: "\f3b1"; } +.bi-file-ruled-fill::before { content: "\f3b2"; } +.bi-file-ruled::before { content: "\f3b3"; } +.bi-file-slides-fill::before { content: "\f3b4"; } +.bi-file-slides::before { content: "\f3b5"; } +.bi-file-spreadsheet-fill::before { content: "\f3b6"; } +.bi-file-spreadsheet::before { content: "\f3b7"; } +.bi-file-text-fill::before { content: "\f3b8"; } +.bi-file-text::before { content: "\f3b9"; } +.bi-file-word-fill::before { content: "\f3ba"; } +.bi-file-word::before { content: "\f3bb"; } +.bi-file-x-fill::before { content: "\f3bc"; } +.bi-file-x::before { content: "\f3bd"; } +.bi-file-zip-fill::before { content: "\f3be"; } +.bi-file-zip::before { content: "\f3bf"; } +.bi-file::before { content: "\f3c0"; } +.bi-files-alt::before { content: "\f3c1"; } +.bi-files::before { content: "\f3c2"; } +.bi-film::before { content: "\f3c3"; } +.bi-filter-circle-fill::before { content: "\f3c4"; } +.bi-filter-circle::before { content: "\f3c5"; } +.bi-filter-left::before { content: "\f3c6"; } +.bi-filter-right::before { content: "\f3c7"; } +.bi-filter-square-fill::before { content: "\f3c8"; } +.bi-filter-square::before { content: "\f3c9"; } +.bi-filter::before { content: "\f3ca"; } +.bi-flag-fill::before { content: "\f3cb"; } +.bi-flag::before { content: "\f3cc"; } +.bi-flower1::before { content: "\f3cd"; } +.bi-flower2::before { content: "\f3ce"; } +.bi-flower3::before { content: "\f3cf"; } +.bi-folder-check::before { content: "\f3d0"; } +.bi-folder-fill::before { content: "\f3d1"; } +.bi-folder-minus::before { content: "\f3d2"; } +.bi-folder-plus::before { content: "\f3d3"; } +.bi-folder-symlink-fill::before { content: "\f3d4"; } +.bi-folder-symlink::before { content: "\f3d5"; } +.bi-folder-x::before { content: "\f3d6"; } +.bi-folder::before { content: "\f3d7"; } +.bi-folder2-open::before { content: "\f3d8"; } +.bi-folder2::before { content: "\f3d9"; } +.bi-fonts::before { content: "\f3da"; } +.bi-forward-fill::before { content: "\f3db"; } +.bi-forward::before { content: "\f3dc"; } +.bi-front::before { content: "\f3dd"; } +.bi-fullscreen-exit::before { content: "\f3de"; } +.bi-fullscreen::before { content: "\f3df"; } +.bi-funnel-fill::before { content: "\f3e0"; } +.bi-funnel::before { content: "\f3e1"; } +.bi-gear-fill::before { content: "\f3e2"; } +.bi-gear-wide-connected::before { content: "\f3e3"; } +.bi-gear-wide::before { content: "\f3e4"; } +.bi-gear::before { content: "\f3e5"; } +.bi-gem::before { content: "\f3e6"; } +.bi-geo-alt-fill::before { content: "\f3e7"; } +.bi-geo-alt::before { content: "\f3e8"; } +.bi-geo-fill::before { content: "\f3e9"; } +.bi-geo::before { content: "\f3ea"; } +.bi-gift-fill::before { content: "\f3eb"; } +.bi-gift::before { content: "\f3ec"; } +.bi-github::before { content: "\f3ed"; } +.bi-globe::before { content: "\f3ee"; } +.bi-globe2::before { content: "\f3ef"; } +.bi-google::before { content: "\f3f0"; } +.bi-graph-down::before { content: "\f3f1"; } +.bi-graph-up::before { content: "\f3f2"; } +.bi-grid-1x2-fill::before { content: "\f3f3"; } +.bi-grid-1x2::before { content: "\f3f4"; } +.bi-grid-3x2-gap-fill::before { content: "\f3f5"; } +.bi-grid-3x2-gap::before { content: "\f3f6"; } +.bi-grid-3x2::before { content: "\f3f7"; } +.bi-grid-3x3-gap-fill::before { content: "\f3f8"; } +.bi-grid-3x3-gap::before { content: "\f3f9"; } +.bi-grid-3x3::before { content: "\f3fa"; } +.bi-grid-fill::before { content: "\f3fb"; } +.bi-grid::before { content: "\f3fc"; } +.bi-grip-horizontal::before { content: "\f3fd"; } +.bi-grip-vertical::before { content: "\f3fe"; } +.bi-hammer::before { content: "\f3ff"; } +.bi-hand-index-fill::before { content: "\f400"; } +.bi-hand-index-thumb-fill::before { content: "\f401"; } +.bi-hand-index-thumb::before { content: "\f402"; } +.bi-hand-index::before { content: "\f403"; } +.bi-hand-thumbs-down-fill::before { content: "\f404"; } +.bi-hand-thumbs-down::before { content: "\f405"; } +.bi-hand-thumbs-up-fill::before { content: "\f406"; } +.bi-hand-thumbs-up::before { content: "\f407"; } +.bi-handbag-fill::before { content: "\f408"; } +.bi-handbag::before { content: "\f409"; } +.bi-hash::before { content: "\f40a"; } +.bi-hdd-fill::before { content: "\f40b"; } +.bi-hdd-network-fill::before { content: "\f40c"; } +.bi-hdd-network::before { content: "\f40d"; } +.bi-hdd-rack-fill::before { content: "\f40e"; } +.bi-hdd-rack::before { content: "\f40f"; } +.bi-hdd-stack-fill::before { content: "\f410"; } +.bi-hdd-stack::before { content: "\f411"; } +.bi-hdd::before { content: "\f412"; } +.bi-headphones::before { content: "\f413"; } +.bi-headset::before { content: "\f414"; } +.bi-heart-fill::before { content: "\f415"; } +.bi-heart-half::before { content: "\f416"; } +.bi-heart::before { content: "\f417"; } +.bi-heptagon-fill::before { content: "\f418"; } +.bi-heptagon-half::before { content: "\f419"; } +.bi-heptagon::before { content: "\f41a"; } +.bi-hexagon-fill::before { content: "\f41b"; } +.bi-hexagon-half::before { content: "\f41c"; } +.bi-hexagon::before { content: "\f41d"; } +.bi-hourglass-bottom::before { content: "\f41e"; } +.bi-hourglass-split::before { content: "\f41f"; } +.bi-hourglass-top::before { content: "\f420"; } +.bi-hourglass::before { content: "\f421"; } +.bi-house-door-fill::before { content: "\f422"; } +.bi-house-door::before { content: "\f423"; } +.bi-house-fill::before { content: "\f424"; } +.bi-house::before { content: "\f425"; } +.bi-hr::before { content: "\f426"; } +.bi-hurricane::before { content: "\f427"; } +.bi-image-alt::before { content: "\f428"; } +.bi-image-fill::before { content: "\f429"; } +.bi-image::before { content: "\f42a"; } +.bi-images::before { content: "\f42b"; } +.bi-inbox-fill::before { content: "\f42c"; } +.bi-inbox::before { content: "\f42d"; } +.bi-inboxes-fill::before { content: "\f42e"; } +.bi-inboxes::before { content: "\f42f"; } +.bi-info-circle-fill::before { content: "\f430"; } +.bi-info-circle::before { content: "\f431"; } +.bi-info-square-fill::before { content: "\f432"; } +.bi-info-square::before { content: "\f433"; } +.bi-info::before { content: "\f434"; } +.bi-input-cursor-text::before { content: "\f435"; } +.bi-input-cursor::before { content: "\f436"; } +.bi-instagram::before { content: "\f437"; } +.bi-intersect::before { content: "\f438"; } +.bi-journal-album::before { content: "\f439"; } +.bi-journal-arrow-down::before { content: "\f43a"; } +.bi-journal-arrow-up::before { content: "\f43b"; } +.bi-journal-bookmark-fill::before { content: "\f43c"; } +.bi-journal-bookmark::before { content: "\f43d"; } +.bi-journal-check::before { content: "\f43e"; } +.bi-journal-code::before { content: "\f43f"; } +.bi-journal-medical::before { content: "\f440"; } +.bi-journal-minus::before { content: "\f441"; } +.bi-journal-plus::before { content: "\f442"; } +.bi-journal-richtext::before { content: "\f443"; } +.bi-journal-text::before { content: "\f444"; } +.bi-journal-x::before { content: "\f445"; } +.bi-journal::before { content: "\f446"; } +.bi-journals::before { content: "\f447"; } +.bi-joystick::before { content: "\f448"; } +.bi-justify-left::before { content: "\f449"; } +.bi-justify-right::before { content: "\f44a"; } +.bi-justify::before { content: "\f44b"; } +.bi-kanban-fill::before { content: "\f44c"; } +.bi-kanban::before { content: "\f44d"; } +.bi-key-fill::before { content: "\f44e"; } +.bi-key::before { content: "\f44f"; } +.bi-keyboard-fill::before { content: "\f450"; } +.bi-keyboard::before { content: "\f451"; } +.bi-ladder::before { content: "\f452"; } +.bi-lamp-fill::before { content: "\f453"; } +.bi-lamp::before { content: "\f454"; } +.bi-laptop-fill::before { content: "\f455"; } +.bi-laptop::before { content: "\f456"; } +.bi-layer-backward::before { content: "\f457"; } +.bi-layer-forward::before { content: "\f458"; } +.bi-layers-fill::before { content: "\f459"; } +.bi-layers-half::before { content: "\f45a"; } +.bi-layers::before { content: "\f45b"; } +.bi-layout-sidebar-inset-reverse::before { content: "\f45c"; } +.bi-layout-sidebar-inset::before { content: "\f45d"; } +.bi-layout-sidebar-reverse::before { content: "\f45e"; } +.bi-layout-sidebar::before { content: "\f45f"; } +.bi-layout-split::before { content: "\f460"; } +.bi-layout-text-sidebar-reverse::before { content: "\f461"; } +.bi-layout-text-sidebar::before { content: "\f462"; } +.bi-layout-text-window-reverse::before { content: "\f463"; } +.bi-layout-text-window::before { content: "\f464"; } +.bi-layout-three-columns::before { content: "\f465"; } +.bi-layout-wtf::before { content: "\f466"; } +.bi-life-preserver::before { content: "\f467"; } +.bi-lightbulb-fill::before { content: "\f468"; } +.bi-lightbulb-off-fill::before { content: "\f469"; } +.bi-lightbulb-off::before { content: "\f46a"; } +.bi-lightbulb::before { content: "\f46b"; } +.bi-lightning-charge-fill::before { content: "\f46c"; } +.bi-lightning-charge::before { content: "\f46d"; } +.bi-lightning-fill::before { content: "\f46e"; } +.bi-lightning::before { content: "\f46f"; } +.bi-link-45deg::before { content: "\f470"; } +.bi-link::before { content: "\f471"; } +.bi-linkedin::before { content: "\f472"; } +.bi-list-check::before { content: "\f473"; } +.bi-list-nested::before { content: "\f474"; } +.bi-list-ol::before { content: "\f475"; } +.bi-list-stars::before { content: "\f476"; } +.bi-list-task::before { content: "\f477"; } +.bi-list-ul::before { content: "\f478"; } +.bi-list::before { content: "\f479"; } +.bi-lock-fill::before { content: "\f47a"; } +.bi-lock::before { content: "\f47b"; } +.bi-mailbox::before { content: "\f47c"; } +.bi-mailbox2::before { content: "\f47d"; } +.bi-map-fill::before { content: "\f47e"; } +.bi-map::before { content: "\f47f"; } +.bi-markdown-fill::before { content: "\f480"; } +.bi-markdown::before { content: "\f481"; } +.bi-mask::before { content: "\f482"; } +.bi-megaphone-fill::before { content: "\f483"; } +.bi-megaphone::before { content: "\f484"; } +.bi-menu-app-fill::before { content: "\f485"; } +.bi-menu-app::before { content: "\f486"; } +.bi-menu-button-fill::before { content: "\f487"; } +.bi-menu-button-wide-fill::before { content: "\f488"; } +.bi-menu-button-wide::before { content: "\f489"; } +.bi-menu-button::before { content: "\f48a"; } +.bi-menu-down::before { content: "\f48b"; } +.bi-menu-up::before { content: "\f48c"; } +.bi-mic-fill::before { content: "\f48d"; } +.bi-mic-mute-fill::before { content: "\f48e"; } +.bi-mic-mute::before { content: "\f48f"; } +.bi-mic::before { content: "\f490"; } +.bi-minecart-loaded::before { content: "\f491"; } +.bi-minecart::before { content: "\f492"; } +.bi-moisture::before { content: "\f493"; } +.bi-moon-fill::before { content: "\f494"; } +.bi-moon-stars-fill::before { content: "\f495"; } +.bi-moon-stars::before { content: "\f496"; } +.bi-moon::before { content: "\f497"; } +.bi-mouse-fill::before { content: "\f498"; } +.bi-mouse::before { content: "\f499"; } +.bi-mouse2-fill::before { content: "\f49a"; } +.bi-mouse2::before { content: "\f49b"; } +.bi-mouse3-fill::before { content: "\f49c"; } +.bi-mouse3::before { content: "\f49d"; } +.bi-music-note-beamed::before { content: "\f49e"; } +.bi-music-note-list::before { content: "\f49f"; } +.bi-music-note::before { content: "\f4a0"; } +.bi-music-player-fill::before { content: "\f4a1"; } +.bi-music-player::before { content: "\f4a2"; } +.bi-newspaper::before { content: "\f4a3"; } +.bi-node-minus-fill::before { content: "\f4a4"; } +.bi-node-minus::before { content: "\f4a5"; } +.bi-node-plus-fill::before { content: "\f4a6"; } +.bi-node-plus::before { content: "\f4a7"; } +.bi-nut-fill::before { content: "\f4a8"; } +.bi-nut::before { content: "\f4a9"; } +.bi-octagon-fill::before { content: "\f4aa"; } +.bi-octagon-half::before { content: "\f4ab"; } +.bi-octagon::before { content: "\f4ac"; } +.bi-option::before { content: "\f4ad"; } +.bi-outlet::before { content: "\f4ae"; } +.bi-paint-bucket::before { content: "\f4af"; } +.bi-palette-fill::before { content: "\f4b0"; } +.bi-palette::before { content: "\f4b1"; } +.bi-palette2::before { content: "\f4b2"; } +.bi-paperclip::before { content: "\f4b3"; } +.bi-paragraph::before { content: "\f4b4"; } +.bi-patch-check-fill::before { content: "\f4b5"; } +.bi-patch-check::before { content: "\f4b6"; } +.bi-patch-exclamation-fill::before { content: "\f4b7"; } +.bi-patch-exclamation::before { content: "\f4b8"; } +.bi-patch-minus-fill::before { content: "\f4b9"; } +.bi-patch-minus::before { content: "\f4ba"; } +.bi-patch-plus-fill::before { content: "\f4bb"; } +.bi-patch-plus::before { content: "\f4bc"; } +.bi-patch-question-fill::before { content: "\f4bd"; } +.bi-patch-question::before { content: "\f4be"; } +.bi-pause-btn-fill::before { content: "\f4bf"; } +.bi-pause-btn::before { content: "\f4c0"; } +.bi-pause-circle-fill::before { content: "\f4c1"; } +.bi-pause-circle::before { content: "\f4c2"; } +.bi-pause-fill::before { content: "\f4c3"; } +.bi-pause::before { content: "\f4c4"; } +.bi-peace-fill::before { content: "\f4c5"; } +.bi-peace::before { content: "\f4c6"; } +.bi-pen-fill::before { content: "\f4c7"; } +.bi-pen::before { content: "\f4c8"; } +.bi-pencil-fill::before { content: "\f4c9"; } +.bi-pencil-square::before { content: "\f4ca"; } +.bi-pencil::before { content: "\f4cb"; } +.bi-pentagon-fill::before { content: "\f4cc"; } +.bi-pentagon-half::before { content: "\f4cd"; } +.bi-pentagon::before { content: "\f4ce"; } +.bi-people-fill::before { content: "\f4cf"; } +.bi-people::before { content: "\f4d0"; } +.bi-percent::before { content: "\f4d1"; } +.bi-person-badge-fill::before { content: "\f4d2"; } +.bi-person-badge::before { content: "\f4d3"; } +.bi-person-bounding-box::before { content: "\f4d4"; } +.bi-person-check-fill::before { content: "\f4d5"; } +.bi-person-check::before { content: "\f4d6"; } +.bi-person-circle::before { content: "\f4d7"; } +.bi-person-dash-fill::before { content: "\f4d8"; } +.bi-person-dash::before { content: "\f4d9"; } +.bi-person-fill::before { content: "\f4da"; } +.bi-person-lines-fill::before { content: "\f4db"; } +.bi-person-plus-fill::before { content: "\f4dc"; } +.bi-person-plus::before { content: "\f4dd"; } +.bi-person-square::before { content: "\f4de"; } +.bi-person-x-fill::before { content: "\f4df"; } +.bi-person-x::before { content: "\f4e0"; } +.bi-person::before { content: "\f4e1"; } +.bi-phone-fill::before { content: "\f4e2"; } +.bi-phone-landscape-fill::before { content: "\f4e3"; } +.bi-phone-landscape::before { content: "\f4e4"; } +.bi-phone-vibrate-fill::before { content: "\f4e5"; } +.bi-phone-vibrate::before { content: "\f4e6"; } +.bi-phone::before { content: "\f4e7"; } +.bi-pie-chart-fill::before { content: "\f4e8"; } +.bi-pie-chart::before { content: "\f4e9"; } +.bi-pin-angle-fill::before { content: "\f4ea"; } +.bi-pin-angle::before { content: "\f4eb"; } +.bi-pin-fill::before { content: "\f4ec"; } +.bi-pin::before { content: "\f4ed"; } +.bi-pip-fill::before { content: "\f4ee"; } +.bi-pip::before { content: "\f4ef"; } +.bi-play-btn-fill::before { content: "\f4f0"; } +.bi-play-btn::before { content: "\f4f1"; } +.bi-play-circle-fill::before { content: "\f4f2"; } +.bi-play-circle::before { content: "\f4f3"; } +.bi-play-fill::before { content: "\f4f4"; } +.bi-play::before { content: "\f4f5"; } +.bi-plug-fill::before { content: "\f4f6"; } +.bi-plug::before { content: "\f4f7"; } +.bi-plus-circle-dotted::before { content: "\f4f8"; } +.bi-plus-circle-fill::before { content: "\f4f9"; } +.bi-plus-circle::before { content: "\f4fa"; } +.bi-plus-square-dotted::before { content: "\f4fb"; } +.bi-plus-square-fill::before { content: "\f4fc"; } +.bi-plus-square::before { content: "\f4fd"; } +.bi-plus::before { content: "\f4fe"; } +.bi-power::before { content: "\f4ff"; } +.bi-printer-fill::before { content: "\f500"; } +.bi-printer::before { content: "\f501"; } +.bi-puzzle-fill::before { content: "\f502"; } +.bi-puzzle::before { content: "\f503"; } +.bi-question-circle-fill::before { content: "\f504"; } +.bi-question-circle::before { content: "\f505"; } +.bi-question-diamond-fill::before { content: "\f506"; } +.bi-question-diamond::before { content: "\f507"; } +.bi-question-octagon-fill::before { content: "\f508"; } +.bi-question-octagon::before { content: "\f509"; } +.bi-question-square-fill::before { content: "\f50a"; } +.bi-question-square::before { content: "\f50b"; } +.bi-question::before { content: "\f50c"; } +.bi-rainbow::before { content: "\f50d"; } +.bi-receipt-cutoff::before { content: "\f50e"; } +.bi-receipt::before { content: "\f50f"; } +.bi-reception-0::before { content: "\f510"; } +.bi-reception-1::before { content: "\f511"; } +.bi-reception-2::before { content: "\f512"; } +.bi-reception-3::before { content: "\f513"; } +.bi-reception-4::before { content: "\f514"; } +.bi-record-btn-fill::before { content: "\f515"; } +.bi-record-btn::before { content: "\f516"; } +.bi-record-circle-fill::before { content: "\f517"; } +.bi-record-circle::before { content: "\f518"; } +.bi-record-fill::before { content: "\f519"; } +.bi-record::before { content: "\f51a"; } +.bi-record2-fill::before { content: "\f51b"; } +.bi-record2::before { content: "\f51c"; } +.bi-reply-all-fill::before { content: "\f51d"; } +.bi-reply-all::before { content: "\f51e"; } +.bi-reply-fill::before { content: "\f51f"; } +.bi-reply::before { content: "\f520"; } +.bi-rss-fill::before { content: "\f521"; } +.bi-rss::before { content: "\f522"; } +.bi-rulers::before { content: "\f523"; } +.bi-save-fill::before { content: "\f524"; } +.bi-save::before { content: "\f525"; } +.bi-save2-fill::before { content: "\f526"; } +.bi-save2::before { content: "\f527"; } +.bi-scissors::before { content: "\f528"; } +.bi-screwdriver::before { content: "\f529"; } +.bi-search::before { content: "\f52a"; } +.bi-segmented-nav::before { content: "\f52b"; } +.bi-server::before { content: "\f52c"; } +.bi-share-fill::before { content: "\f52d"; } +.bi-share::before { content: "\f52e"; } +.bi-shield-check::before { content: "\f52f"; } +.bi-shield-exclamation::before { content: "\f530"; } +.bi-shield-fill-check::before { content: "\f531"; } +.bi-shield-fill-exclamation::before { content: "\f532"; } +.bi-shield-fill-minus::before { content: "\f533"; } +.bi-shield-fill-plus::before { content: "\f534"; } +.bi-shield-fill-x::before { content: "\f535"; } +.bi-shield-fill::before { content: "\f536"; } +.bi-shield-lock-fill::before { content: "\f537"; } +.bi-shield-lock::before { content: "\f538"; } +.bi-shield-minus::before { content: "\f539"; } +.bi-shield-plus::before { content: "\f53a"; } +.bi-shield-shaded::before { content: "\f53b"; } +.bi-shield-slash-fill::before { content: "\f53c"; } +.bi-shield-slash::before { content: "\f53d"; } +.bi-shield-x::before { content: "\f53e"; } +.bi-shield::before { content: "\f53f"; } +.bi-shift-fill::before { content: "\f540"; } +.bi-shift::before { content: "\f541"; } +.bi-shop-window::before { content: "\f542"; } +.bi-shop::before { content: "\f543"; } +.bi-shuffle::before { content: "\f544"; } +.bi-signpost-2-fill::before { content: "\f545"; } +.bi-signpost-2::before { content: "\f546"; } +.bi-signpost-fill::before { content: "\f547"; } +.bi-signpost-split-fill::before { content: "\f548"; } +.bi-signpost-split::before { content: "\f549"; } +.bi-signpost::before { content: "\f54a"; } +.bi-sim-fill::before { content: "\f54b"; } +.bi-sim::before { content: "\f54c"; } +.bi-skip-backward-btn-fill::before { content: "\f54d"; } +.bi-skip-backward-btn::before { content: "\f54e"; } +.bi-skip-backward-circle-fill::before { content: "\f54f"; } +.bi-skip-backward-circle::before { content: "\f550"; } +.bi-skip-backward-fill::before { content: "\f551"; } +.bi-skip-backward::before { content: "\f552"; } +.bi-skip-end-btn-fill::before { content: "\f553"; } +.bi-skip-end-btn::before { content: "\f554"; } +.bi-skip-end-circle-fill::before { content: "\f555"; } +.bi-skip-end-circle::before { content: "\f556"; } +.bi-skip-end-fill::before { content: "\f557"; } +.bi-skip-end::before { content: "\f558"; } +.bi-skip-forward-btn-fill::before { content: "\f559"; } +.bi-skip-forward-btn::before { content: "\f55a"; } +.bi-skip-forward-circle-fill::before { content: "\f55b"; } +.bi-skip-forward-circle::before { content: "\f55c"; } +.bi-skip-forward-fill::before { content: "\f55d"; } +.bi-skip-forward::before { content: "\f55e"; } +.bi-skip-start-btn-fill::before { content: "\f55f"; } +.bi-skip-start-btn::before { content: "\f560"; } +.bi-skip-start-circle-fill::before { content: "\f561"; } +.bi-skip-start-circle::before { content: "\f562"; } +.bi-skip-start-fill::before { content: "\f563"; } +.bi-skip-start::before { content: "\f564"; } +.bi-slack::before { content: "\f565"; } +.bi-slash-circle-fill::before { content: "\f566"; } +.bi-slash-circle::before { content: "\f567"; } +.bi-slash-square-fill::before { content: "\f568"; } +.bi-slash-square::before { content: "\f569"; } +.bi-slash::before { content: "\f56a"; } +.bi-sliders::before { content: "\f56b"; } +.bi-smartwatch::before { content: "\f56c"; } +.bi-snow::before { content: "\f56d"; } +.bi-snow2::before { content: "\f56e"; } +.bi-snow3::before { content: "\f56f"; } +.bi-sort-alpha-down-alt::before { content: "\f570"; } +.bi-sort-alpha-down::before { content: "\f571"; } +.bi-sort-alpha-up-alt::before { content: "\f572"; } +.bi-sort-alpha-up::before { content: "\f573"; } +.bi-sort-down-alt::before { content: "\f574"; } +.bi-sort-down::before { content: "\f575"; } +.bi-sort-numeric-down-alt::before { content: "\f576"; } +.bi-sort-numeric-down::before { content: "\f577"; } +.bi-sort-numeric-up-alt::before { content: "\f578"; } +.bi-sort-numeric-up::before { content: "\f579"; } +.bi-sort-up-alt::before { content: "\f57a"; } +.bi-sort-up::before { content: "\f57b"; } +.bi-soundwave::before { content: "\f57c"; } +.bi-speaker-fill::before { content: "\f57d"; } +.bi-speaker::before { content: "\f57e"; } +.bi-speedometer::before { content: "\f57f"; } +.bi-speedometer2::before { content: "\f580"; } +.bi-spellcheck::before { content: "\f581"; } +.bi-square-fill::before { content: "\f582"; } +.bi-square-half::before { content: "\f583"; } +.bi-square::before { content: "\f584"; } +.bi-stack::before { content: "\f585"; } +.bi-star-fill::before { content: "\f586"; } +.bi-star-half::before { content: "\f587"; } +.bi-star::before { content: "\f588"; } +.bi-stars::before { content: "\f589"; } +.bi-stickies-fill::before { content: "\f58a"; } +.bi-stickies::before { content: "\f58b"; } +.bi-sticky-fill::before { content: "\f58c"; } +.bi-sticky::before { content: "\f58d"; } +.bi-stop-btn-fill::before { content: "\f58e"; } +.bi-stop-btn::before { content: "\f58f"; } +.bi-stop-circle-fill::before { content: "\f590"; } +.bi-stop-circle::before { content: "\f591"; } +.bi-stop-fill::before { content: "\f592"; } +.bi-stop::before { content: "\f593"; } +.bi-stoplights-fill::before { content: "\f594"; } +.bi-stoplights::before { content: "\f595"; } +.bi-stopwatch-fill::before { content: "\f596"; } +.bi-stopwatch::before { content: "\f597"; } +.bi-subtract::before { content: "\f598"; } +.bi-suit-club-fill::before { content: "\f599"; } +.bi-suit-club::before { content: "\f59a"; } +.bi-suit-diamond-fill::before { content: "\f59b"; } +.bi-suit-diamond::before { content: "\f59c"; } +.bi-suit-heart-fill::before { content: "\f59d"; } +.bi-suit-heart::before { content: "\f59e"; } +.bi-suit-spade-fill::before { content: "\f59f"; } +.bi-suit-spade::before { content: "\f5a0"; } +.bi-sun-fill::before { content: "\f5a1"; } +.bi-sun::before { content: "\f5a2"; } +.bi-sunglasses::before { content: "\f5a3"; } +.bi-sunrise-fill::before { content: "\f5a4"; } +.bi-sunrise::before { content: "\f5a5"; } +.bi-sunset-fill::before { content: "\f5a6"; } +.bi-sunset::before { content: "\f5a7"; } +.bi-symmetry-horizontal::before { content: "\f5a8"; } +.bi-symmetry-vertical::before { content: "\f5a9"; } +.bi-table::before { content: "\f5aa"; } +.bi-tablet-fill::before { content: "\f5ab"; } +.bi-tablet-landscape-fill::before { content: "\f5ac"; } +.bi-tablet-landscape::before { content: "\f5ad"; } +.bi-tablet::before { content: "\f5ae"; } +.bi-tag-fill::before { content: "\f5af"; } +.bi-tag::before { content: "\f5b0"; } +.bi-tags-fill::before { content: "\f5b1"; } +.bi-tags::before { content: "\f5b2"; } +.bi-telegram::before { content: "\f5b3"; } +.bi-telephone-fill::before { content: "\f5b4"; } +.bi-telephone-forward-fill::before { content: "\f5b5"; } +.bi-telephone-forward::before { content: "\f5b6"; } +.bi-telephone-inbound-fill::before { content: "\f5b7"; } +.bi-telephone-inbound::before { content: "\f5b8"; } +.bi-telephone-minus-fill::before { content: "\f5b9"; } +.bi-telephone-minus::before { content: "\f5ba"; } +.bi-telephone-outbound-fill::before { content: "\f5bb"; } +.bi-telephone-outbound::before { content: "\f5bc"; } +.bi-telephone-plus-fill::before { content: "\f5bd"; } +.bi-telephone-plus::before { content: "\f5be"; } +.bi-telephone-x-fill::before { content: "\f5bf"; } +.bi-telephone-x::before { content: "\f5c0"; } +.bi-telephone::before { content: "\f5c1"; } +.bi-terminal-fill::before { content: "\f5c2"; } +.bi-terminal::before { content: "\f5c3"; } +.bi-text-center::before { content: "\f5c4"; } +.bi-text-indent-left::before { content: "\f5c5"; } +.bi-text-indent-right::before { content: "\f5c6"; } +.bi-text-left::before { content: "\f5c7"; } +.bi-text-paragraph::before { content: "\f5c8"; } +.bi-text-right::before { content: "\f5c9"; } +.bi-textarea-resize::before { content: "\f5ca"; } +.bi-textarea-t::before { content: "\f5cb"; } +.bi-textarea::before { content: "\f5cc"; } +.bi-thermometer-half::before { content: "\f5cd"; } +.bi-thermometer-high::before { content: "\f5ce"; } +.bi-thermometer-low::before { content: "\f5cf"; } +.bi-thermometer-snow::before { content: "\f5d0"; } +.bi-thermometer-sun::before { content: "\f5d1"; } +.bi-thermometer::before { content: "\f5d2"; } +.bi-three-dots-vertical::before { content: "\f5d3"; } +.bi-three-dots::before { content: "\f5d4"; } +.bi-toggle-off::before { content: "\f5d5"; } +.bi-toggle-on::before { content: "\f5d6"; } +.bi-toggle2-off::before { content: "\f5d7"; } +.bi-toggle2-on::before { content: "\f5d8"; } +.bi-toggles::before { content: "\f5d9"; } +.bi-toggles2::before { content: "\f5da"; } +.bi-tools::before { content: "\f5db"; } +.bi-tornado::before { content: "\f5dc"; } +.bi-trash-fill::before { content: "\f5dd"; } +.bi-trash::before { content: "\f5de"; } +.bi-trash2-fill::before { content: "\f5df"; } +.bi-trash2::before { content: "\f5e0"; } +.bi-tree-fill::before { content: "\f5e1"; } +.bi-tree::before { content: "\f5e2"; } +.bi-triangle-fill::before { content: "\f5e3"; } +.bi-triangle-half::before { content: "\f5e4"; } +.bi-triangle::before { content: "\f5e5"; } +.bi-trophy-fill::before { content: "\f5e6"; } +.bi-trophy::before { content: "\f5e7"; } +.bi-tropical-storm::before { content: "\f5e8"; } +.bi-truck-flatbed::before { content: "\f5e9"; } +.bi-truck::before { content: "\f5ea"; } +.bi-tsunami::before { content: "\f5eb"; } +.bi-tv-fill::before { content: "\f5ec"; } +.bi-tv::before { content: "\f5ed"; } +.bi-twitch::before { content: "\f5ee"; } +.bi-twitter::before { content: "\f5ef"; } +.bi-type-bold::before { content: "\f5f0"; } +.bi-type-h1::before { content: "\f5f1"; } +.bi-type-h2::before { content: "\f5f2"; } +.bi-type-h3::before { content: "\f5f3"; } +.bi-type-italic::before { content: "\f5f4"; } +.bi-type-strikethrough::before { content: "\f5f5"; } +.bi-type-underline::before { content: "\f5f6"; } +.bi-type::before { content: "\f5f7"; } +.bi-ui-checks-grid::before { content: "\f5f8"; } +.bi-ui-checks::before { content: "\f5f9"; } +.bi-ui-radios-grid::before { content: "\f5fa"; } +.bi-ui-radios::before { content: "\f5fb"; } +.bi-umbrella-fill::before { content: "\f5fc"; } +.bi-umbrella::before { content: "\f5fd"; } +.bi-union::before { content: "\f5fe"; } +.bi-unlock-fill::before { content: "\f5ff"; } +.bi-unlock::before { content: "\f600"; } +.bi-upc-scan::before { content: "\f601"; } +.bi-upc::before { content: "\f602"; } +.bi-upload::before { content: "\f603"; } +.bi-vector-pen::before { content: "\f604"; } +.bi-view-list::before { content: "\f605"; } +.bi-view-stacked::before { content: "\f606"; } +.bi-vinyl-fill::before { content: "\f607"; } +.bi-vinyl::before { content: "\f608"; } +.bi-voicemail::before { content: "\f609"; } +.bi-volume-down-fill::before { content: "\f60a"; } +.bi-volume-down::before { content: "\f60b"; } +.bi-volume-mute-fill::before { content: "\f60c"; } +.bi-volume-mute::before { content: "\f60d"; } +.bi-volume-off-fill::before { content: "\f60e"; } +.bi-volume-off::before { content: "\f60f"; } +.bi-volume-up-fill::before { content: "\f610"; } +.bi-volume-up::before { content: "\f611"; } +.bi-vr::before { content: "\f612"; } +.bi-wallet-fill::before { content: "\f613"; } +.bi-wallet::before { content: "\f614"; } +.bi-wallet2::before { content: "\f615"; } +.bi-watch::before { content: "\f616"; } +.bi-water::before { content: "\f617"; } +.bi-whatsapp::before { content: "\f618"; } +.bi-wifi-1::before { content: "\f619"; } +.bi-wifi-2::before { content: "\f61a"; } +.bi-wifi-off::before { content: "\f61b"; } +.bi-wifi::before { content: "\f61c"; } +.bi-wind::before { content: "\f61d"; } +.bi-window-dock::before { content: "\f61e"; } +.bi-window-sidebar::before { content: "\f61f"; } +.bi-window::before { content: "\f620"; } +.bi-wrench::before { content: "\f621"; } +.bi-x-circle-fill::before { content: "\f622"; } +.bi-x-circle::before { content: "\f623"; } +.bi-x-diamond-fill::before { content: "\f624"; } +.bi-x-diamond::before { content: "\f625"; } +.bi-x-octagon-fill::before { content: "\f626"; } +.bi-x-octagon::before { content: "\f627"; } +.bi-x-square-fill::before { content: "\f628"; } +.bi-x-square::before { content: "\f629"; } +.bi-x::before { content: "\f62a"; } +.bi-youtube::before { content: "\f62b"; } +.bi-zoom-in::before { content: "\f62c"; } +.bi-zoom-out::before { content: "\f62d"; } +.bi-bank::before { content: "\f62e"; } +.bi-bank2::before { content: "\f62f"; } +.bi-bell-slash-fill::before { content: "\f630"; } +.bi-bell-slash::before { content: "\f631"; } +.bi-cash-coin::before { content: "\f632"; } +.bi-check-lg::before { content: "\f633"; } +.bi-coin::before { content: "\f634"; } +.bi-currency-bitcoin::before { content: "\f635"; } +.bi-currency-dollar::before { content: "\f636"; } +.bi-currency-euro::before { content: "\f637"; } +.bi-currency-exchange::before { content: "\f638"; } +.bi-currency-pound::before { content: "\f639"; } +.bi-currency-yen::before { content: "\f63a"; } +.bi-dash-lg::before { content: "\f63b"; } +.bi-exclamation-lg::before { content: "\f63c"; } +.bi-file-earmark-pdf-fill::before { content: "\f63d"; } +.bi-file-earmark-pdf::before { content: "\f63e"; } +.bi-file-pdf-fill::before { content: "\f63f"; } +.bi-file-pdf::before { content: "\f640"; } +.bi-gender-ambiguous::before { content: "\f641"; } +.bi-gender-female::before { content: "\f642"; } +.bi-gender-male::before { content: "\f643"; } +.bi-gender-trans::before { content: "\f644"; } +.bi-headset-vr::before { content: "\f645"; } +.bi-info-lg::before { content: "\f646"; } +.bi-mastodon::before { content: "\f647"; } +.bi-messenger::before { content: "\f648"; } +.bi-piggy-bank-fill::before { content: "\f649"; } +.bi-piggy-bank::before { content: "\f64a"; } +.bi-pin-map-fill::before { content: "\f64b"; } +.bi-pin-map::before { content: "\f64c"; } +.bi-plus-lg::before { content: "\f64d"; } +.bi-question-lg::before { content: "\f64e"; } +.bi-recycle::before { content: "\f64f"; } +.bi-reddit::before { content: "\f650"; } +.bi-safe-fill::before { content: "\f651"; } +.bi-safe2-fill::before { content: "\f652"; } +.bi-safe2::before { content: "\f653"; } +.bi-sd-card-fill::before { content: "\f654"; } +.bi-sd-card::before { content: "\f655"; } +.bi-skype::before { content: "\f656"; } +.bi-slash-lg::before { content: "\f657"; } +.bi-translate::before { content: "\f658"; } +.bi-x-lg::before { content: "\f659"; } +.bi-safe::before { content: "\f65a"; } +.bi-apple::before { content: "\f65b"; } +.bi-microsoft::before { content: "\f65d"; } +.bi-windows::before { content: "\f65e"; } +.bi-behance::before { content: "\f65c"; } +.bi-dribbble::before { content: "\f65f"; } +.bi-line::before { content: "\f660"; } +.bi-medium::before { content: "\f661"; } +.bi-paypal::before { content: "\f662"; } +.bi-pinterest::before { content: "\f663"; } +.bi-signal::before { content: "\f664"; } +.bi-snapchat::before { content: "\f665"; } +.bi-spotify::before { content: "\f666"; } +.bi-stack-overflow::before { content: "\f667"; } +.bi-strava::before { content: "\f668"; } +.bi-wordpress::before { content: "\f669"; } +.bi-vimeo::before { content: "\f66a"; } +.bi-activity::before { content: "\f66b"; } +.bi-easel2-fill::before { content: "\f66c"; } +.bi-easel2::before { content: "\f66d"; } +.bi-easel3-fill::before { content: "\f66e"; } +.bi-easel3::before { content: "\f66f"; } +.bi-fan::before { content: "\f670"; } +.bi-fingerprint::before { content: "\f671"; } +.bi-graph-down-arrow::before { content: "\f672"; } +.bi-graph-up-arrow::before { content: "\f673"; } +.bi-hypnotize::before { content: "\f674"; } +.bi-magic::before { content: "\f675"; } +.bi-person-rolodex::before { content: "\f676"; } +.bi-person-video::before { content: "\f677"; } +.bi-person-video2::before { content: "\f678"; } +.bi-person-video3::before { content: "\f679"; } +.bi-person-workspace::before { content: "\f67a"; } +.bi-radioactive::before { content: "\f67b"; } +.bi-webcam-fill::before { content: "\f67c"; } +.bi-webcam::before { content: "\f67d"; } +.bi-yin-yang::before { content: "\f67e"; } +.bi-bandaid-fill::before { content: "\f680"; } +.bi-bandaid::before { content: "\f681"; } +.bi-bluetooth::before { content: "\f682"; } +.bi-body-text::before { content: "\f683"; } +.bi-boombox::before { content: "\f684"; } +.bi-boxes::before { content: "\f685"; } +.bi-dpad-fill::before { content: "\f686"; } +.bi-dpad::before { content: "\f687"; } +.bi-ear-fill::before { content: "\f688"; } +.bi-ear::before { content: "\f689"; } +.bi-envelope-check-1::before { content: "\f68a"; } +.bi-envelope-check-fill::before { content: "\f68b"; } +.bi-envelope-check::before { content: "\f68c"; } +.bi-envelope-dash-1::before { content: "\f68d"; } +.bi-envelope-dash-fill::before { content: "\f68e"; } +.bi-envelope-dash::before { content: "\f68f"; } +.bi-envelope-exclamation-1::before { content: "\f690"; } +.bi-envelope-exclamation-fill::before { content: "\f691"; } +.bi-envelope-exclamation::before { content: "\f692"; } +.bi-envelope-plus-fill::before { content: "\f693"; } +.bi-envelope-plus::before { content: "\f694"; } +.bi-envelope-slash-1::before { content: "\f695"; } +.bi-envelope-slash-fill::before { content: "\f696"; } +.bi-envelope-slash::before { content: "\f697"; } +.bi-envelope-x-1::before { content: "\f698"; } +.bi-envelope-x-fill::before { content: "\f699"; } +.bi-envelope-x::before { content: "\f69a"; } +.bi-explicit-fill::before { content: "\f69b"; } +.bi-explicit::before { content: "\f69c"; } +.bi-git::before { content: "\f69d"; } +.bi-infinity::before { content: "\f69e"; } +.bi-list-columns-reverse::before { content: "\f69f"; } +.bi-list-columns::before { content: "\f6a0"; } +.bi-meta::before { content: "\f6a1"; } +.bi-mortorboard-fill::before { content: "\f6a2"; } +.bi-mortorboard::before { content: "\f6a3"; } +.bi-nintendo-switch::before { content: "\f6a4"; } +.bi-pc-display-horizontal::before { content: "\f6a5"; } +.bi-pc-display::before { content: "\f6a6"; } +.bi-pc-horizontal::before { content: "\f6a7"; } +.bi-pc::before { content: "\f6a8"; } +.bi-playstation::before { content: "\f6a9"; } +.bi-plus-slash-minus::before { content: "\f6aa"; } +.bi-projector-fill::before { content: "\f6ab"; } +.bi-projector::before { content: "\f6ac"; } +.bi-qr-code-scan::before { content: "\f6ad"; } +.bi-qr-code::before { content: "\f6ae"; } +.bi-quora::before { content: "\f6af"; } +.bi-quote::before { content: "\f6b0"; } +.bi-robot::before { content: "\f6b1"; } +.bi-send-check-fill::before { content: "\f6b2"; } +.bi-send-check::before { content: "\f6b3"; } +.bi-send-dash-fill::before { content: "\f6b4"; } +.bi-send-dash::before { content: "\f6b5"; } +.bi-send-exclamation-1::before { content: "\f6b6"; } +.bi-send-exclamation-fill::before { content: "\f6b7"; } +.bi-send-exclamation::before { content: "\f6b8"; } +.bi-send-fill::before { content: "\f6b9"; } +.bi-send-plus-fill::before { content: "\f6ba"; } +.bi-send-plus::before { content: "\f6bb"; } +.bi-send-slash-fill::before { content: "\f6bc"; } +.bi-send-slash::before { content: "\f6bd"; } +.bi-send-x-fill::before { content: "\f6be"; } +.bi-send-x::before { content: "\f6bf"; } +.bi-send::before { content: "\f6c0"; } +.bi-steam::before { content: "\f6c1"; } +.bi-terminal-dash-1::before { content: "\f6c2"; } +.bi-terminal-dash::before { content: "\f6c3"; } +.bi-terminal-plus::before { content: "\f6c4"; } +.bi-terminal-split::before { content: "\f6c5"; } +.bi-ticket-detailed-fill::before { content: "\f6c6"; } +.bi-ticket-detailed::before { content: "\f6c7"; } +.bi-ticket-fill::before { content: "\f6c8"; } +.bi-ticket-perforated-fill::before { content: "\f6c9"; } +.bi-ticket-perforated::before { content: "\f6ca"; } +.bi-ticket::before { content: "\f6cb"; } +.bi-tiktok::before { content: "\f6cc"; } +.bi-window-dash::before { content: "\f6cd"; } +.bi-window-desktop::before { content: "\f6ce"; } +.bi-window-fullscreen::before { content: "\f6cf"; } +.bi-window-plus::before { content: "\f6d0"; } +.bi-window-split::before { content: "\f6d1"; } +.bi-window-stack::before { content: "\f6d2"; } +.bi-window-x::before { content: "\f6d3"; } +.bi-xbox::before { content: "\f6d4"; } +.bi-ethernet::before { content: "\f6d5"; } +.bi-hdmi-fill::before { content: "\f6d6"; } +.bi-hdmi::before { content: "\f6d7"; } +.bi-usb-c-fill::before { content: "\f6d8"; } +.bi-usb-c::before { content: "\f6d9"; } +.bi-usb-fill::before { content: "\f6da"; } +.bi-usb-plug-fill::before { content: "\f6db"; } +.bi-usb-plug::before { content: "\f6dc"; } +.bi-usb-symbol::before { content: "\f6dd"; } +.bi-usb::before { content: "\f6de"; } +.bi-boombox-fill::before { content: "\f6df"; } +.bi-displayport-1::before { content: "\f6e0"; } +.bi-displayport::before { content: "\f6e1"; } +.bi-gpu-card::before { content: "\f6e2"; } +.bi-memory::before { content: "\f6e3"; } +.bi-modem-fill::before { content: "\f6e4"; } +.bi-modem::before { content: "\f6e5"; } +.bi-motherboard-fill::before { content: "\f6e6"; } +.bi-motherboard::before { content: "\f6e7"; } +.bi-optical-audio-fill::before { content: "\f6e8"; } +.bi-optical-audio::before { content: "\f6e9"; } +.bi-pci-card::before { content: "\f6ea"; } +.bi-router-fill::before { content: "\f6eb"; } +.bi-router::before { content: "\f6ec"; } +.bi-ssd-fill::before { content: "\f6ed"; } +.bi-ssd::before { content: "\f6ee"; } +.bi-thunderbolt-fill::before { content: "\f6ef"; } +.bi-thunderbolt::before { content: "\f6f0"; } +.bi-usb-drive-fill::before { content: "\f6f1"; } +.bi-usb-drive::before { content: "\f6f2"; } +.bi-usb-micro-fill::before { content: "\f6f3"; } +.bi-usb-micro::before { content: "\f6f4"; } +.bi-usb-mini-fill::before { content: "\f6f5"; } +.bi-usb-mini::before { content: "\f6f6"; } +.bi-cloud-haze2::before { content: "\f6f7"; } +.bi-device-hdd-fill::before { content: "\f6f8"; } +.bi-device-hdd::before { content: "\f6f9"; } +.bi-device-ssd-fill::before { content: "\f6fa"; } +.bi-device-ssd::before { content: "\f6fb"; } +.bi-displayport-fill::before { content: "\f6fc"; } +.bi-mortarboard-fill::before { content: "\f6fd"; } +.bi-mortarboard::before { content: "\f6fe"; } +.bi-terminal-x::before { content: "\f6ff"; } +.bi-arrow-through-heart-fill::before { content: "\f700"; } +.bi-arrow-through-heart::before { content: "\f701"; } +.bi-badge-sd-fill::before { content: "\f702"; } +.bi-badge-sd::before { content: "\f703"; } +.bi-bag-heart-fill::before { content: "\f704"; } +.bi-bag-heart::before { content: "\f705"; } +.bi-balloon-fill::before { content: "\f706"; } +.bi-balloon-heart-fill::before { content: "\f707"; } +.bi-balloon-heart::before { content: "\f708"; } +.bi-balloon::before { content: "\f709"; } +.bi-box2-fill::before { content: "\f70a"; } +.bi-box2-heart-fill::before { content: "\f70b"; } +.bi-box2-heart::before { content: "\f70c"; } +.bi-box2::before { content: "\f70d"; } +.bi-braces-asterisk::before { content: "\f70e"; } +.bi-calendar-heart-fill::before { content: "\f70f"; } +.bi-calendar-heart::before { content: "\f710"; } +.bi-calendar2-heart-fill::before { content: "\f711"; } +.bi-calendar2-heart::before { content: "\f712"; } +.bi-chat-heart-fill::before { content: "\f713"; } +.bi-chat-heart::before { content: "\f714"; } +.bi-chat-left-heart-fill::before { content: "\f715"; } +.bi-chat-left-heart::before { content: "\f716"; } +.bi-chat-right-heart-fill::before { content: "\f717"; } +.bi-chat-right-heart::before { content: "\f718"; } +.bi-chat-square-heart-fill::before { content: "\f719"; } +.bi-chat-square-heart::before { content: "\f71a"; } +.bi-clipboard-check-fill::before { content: "\f71b"; } +.bi-clipboard-data-fill::before { content: "\f71c"; } +.bi-clipboard-fill::before { content: "\f71d"; } +.bi-clipboard-heart-fill::before { content: "\f71e"; } +.bi-clipboard-heart::before { content: "\f71f"; } +.bi-clipboard-minus-fill::before { content: "\f720"; } +.bi-clipboard-plus-fill::before { content: "\f721"; } +.bi-clipboard-pulse::before { content: "\f722"; } +.bi-clipboard-x-fill::before { content: "\f723"; } +.bi-clipboard2-check-fill::before { content: "\f724"; } +.bi-clipboard2-check::before { content: "\f725"; } +.bi-clipboard2-data-fill::before { content: "\f726"; } +.bi-clipboard2-data::before { content: "\f727"; } +.bi-clipboard2-fill::before { content: "\f728"; } +.bi-clipboard2-heart-fill::before { content: "\f729"; } +.bi-clipboard2-heart::before { content: "\f72a"; } +.bi-clipboard2-minus-fill::before { content: "\f72b"; } +.bi-clipboard2-minus::before { content: "\f72c"; } +.bi-clipboard2-plus-fill::before { content: "\f72d"; } +.bi-clipboard2-plus::before { content: "\f72e"; } +.bi-clipboard2-pulse-fill::before { content: "\f72f"; } +.bi-clipboard2-pulse::before { content: "\f730"; } +.bi-clipboard2-x-fill::before { content: "\f731"; } +.bi-clipboard2-x::before { content: "\f732"; } +.bi-clipboard2::before { content: "\f733"; } +.bi-emoji-kiss-fill::before { content: "\f734"; } +.bi-emoji-kiss::before { content: "\f735"; } +.bi-envelope-heart-fill::before { content: "\f736"; } +.bi-envelope-heart::before { content: "\f737"; } +.bi-envelope-open-heart-fill::before { content: "\f738"; } +.bi-envelope-open-heart::before { content: "\f739"; } +.bi-envelope-paper-fill::before { content: "\f73a"; } +.bi-envelope-paper-heart-fill::before { content: "\f73b"; } +.bi-envelope-paper-heart::before { content: "\f73c"; } +.bi-envelope-paper::before { content: "\f73d"; } +.bi-filetype-aac::before { content: "\f73e"; } +.bi-filetype-ai::before { content: "\f73f"; } +.bi-filetype-bmp::before { content: "\f740"; } +.bi-filetype-cs::before { content: "\f741"; } +.bi-filetype-css::before { content: "\f742"; } +.bi-filetype-csv::before { content: "\f743"; } +.bi-filetype-doc::before { content: "\f744"; } +.bi-filetype-docx::before { content: "\f745"; } +.bi-filetype-exe::before { content: "\f746"; } +.bi-filetype-gif::before { content: "\f747"; } +.bi-filetype-heic::before { content: "\f748"; } +.bi-filetype-html::before { content: "\f749"; } +.bi-filetype-java::before { content: "\f74a"; } +.bi-filetype-jpg::before { content: "\f74b"; } +.bi-filetype-js::before { content: "\f74c"; } +.bi-filetype-jsx::before { content: "\f74d"; } +.bi-filetype-key::before { content: "\f74e"; } +.bi-filetype-m4p::before { content: "\f74f"; } +.bi-filetype-md::before { content: "\f750"; } +.bi-filetype-mdx::before { content: "\f751"; } +.bi-filetype-mov::before { content: "\f752"; } +.bi-filetype-mp3::before { content: "\f753"; } +.bi-filetype-mp4::before { content: "\f754"; } +.bi-filetype-otf::before { content: "\f755"; } +.bi-filetype-pdf::before { content: "\f756"; } +.bi-filetype-php::before { content: "\f757"; } +.bi-filetype-png::before { content: "\f758"; } +.bi-filetype-ppt-1::before { content: "\f759"; } +.bi-filetype-ppt::before { content: "\f75a"; } +.bi-filetype-psd::before { content: "\f75b"; } +.bi-filetype-py::before { content: "\f75c"; } +.bi-filetype-raw::before { content: "\f75d"; } +.bi-filetype-rb::before { content: "\f75e"; } +.bi-filetype-sass::before { content: "\f75f"; } +.bi-filetype-scss::before { content: "\f760"; } +.bi-filetype-sh::before { content: "\f761"; } +.bi-filetype-svg::before { content: "\f762"; } +.bi-filetype-tiff::before { content: "\f763"; } +.bi-filetype-tsx::before { content: "\f764"; } +.bi-filetype-ttf::before { content: "\f765"; } +.bi-filetype-txt::before { content: "\f766"; } +.bi-filetype-wav::before { content: "\f767"; } +.bi-filetype-woff::before { content: "\f768"; } +.bi-filetype-xls-1::before { content: "\f769"; } +.bi-filetype-xls::before { content: "\f76a"; } +.bi-filetype-xml::before { content: "\f76b"; } +.bi-filetype-yml::before { content: "\f76c"; } +.bi-heart-arrow::before { content: "\f76d"; } +.bi-heart-pulse-fill::before { content: "\f76e"; } +.bi-heart-pulse::before { content: "\f76f"; } +.bi-heartbreak-fill::before { content: "\f770"; } +.bi-heartbreak::before { content: "\f771"; } +.bi-hearts::before { content: "\f772"; } +.bi-hospital-fill::before { content: "\f773"; } +.bi-hospital::before { content: "\f774"; } +.bi-house-heart-fill::before { content: "\f775"; } +.bi-house-heart::before { content: "\f776"; } +.bi-incognito::before { content: "\f777"; } +.bi-magnet-fill::before { content: "\f778"; } +.bi-magnet::before { content: "\f779"; } +.bi-person-heart::before { content: "\f77a"; } +.bi-person-hearts::before { content: "\f77b"; } +.bi-phone-flip::before { content: "\f77c"; } +.bi-plugin::before { content: "\f77d"; } +.bi-postage-fill::before { content: "\f77e"; } +.bi-postage-heart-fill::before { content: "\f77f"; } +.bi-postage-heart::before { content: "\f780"; } +.bi-postage::before { content: "\f781"; } +.bi-postcard-fill::before { content: "\f782"; } +.bi-postcard-heart-fill::before { content: "\f783"; } +.bi-postcard-heart::before { content: "\f784"; } +.bi-postcard::before { content: "\f785"; } +.bi-search-heart-fill::before { content: "\f786"; } +.bi-search-heart::before { content: "\f787"; } +.bi-sliders2-vertical::before { content: "\f788"; } +.bi-sliders2::before { content: "\f789"; } +.bi-trash3-fill::before { content: "\f78a"; } +.bi-trash3::before { content: "\f78b"; } +.bi-valentine::before { content: "\f78c"; } +.bi-valentine2::before { content: "\f78d"; } +.bi-wrench-adjustable-circle-fill::before { content: "\f78e"; } +.bi-wrench-adjustable-circle::before { content: "\f78f"; } +.bi-wrench-adjustable::before { content: "\f790"; } +.bi-filetype-json::before { content: "\f791"; } +.bi-filetype-pptx::before { content: "\f792"; } +.bi-filetype-xlsx::before { content: "\f793"; } +.bi-1-circle-1::before { content: "\f794"; } +.bi-1-circle-fill-1::before { content: "\f795"; } +.bi-1-circle-fill::before { content: "\f796"; } +.bi-1-circle::before { content: "\f797"; } +.bi-1-square-fill::before { content: "\f798"; } +.bi-1-square::before { content: "\f799"; } +.bi-2-circle-1::before { content: "\f79a"; } +.bi-2-circle-fill-1::before { content: "\f79b"; } +.bi-2-circle-fill::before { content: "\f79c"; } +.bi-2-circle::before { content: "\f79d"; } +.bi-2-square-fill::before { content: "\f79e"; } +.bi-2-square::before { content: "\f79f"; } +.bi-3-circle-1::before { content: "\f7a0"; } +.bi-3-circle-fill-1::before { content: "\f7a1"; } +.bi-3-circle-fill::before { content: "\f7a2"; } +.bi-3-circle::before { content: "\f7a3"; } +.bi-3-square-fill::before { content: "\f7a4"; } +.bi-3-square::before { content: "\f7a5"; } +.bi-4-circle-1::before { content: "\f7a6"; } +.bi-4-circle-fill-1::before { content: "\f7a7"; } +.bi-4-circle-fill::before { content: "\f7a8"; } +.bi-4-circle::before { content: "\f7a9"; } +.bi-4-square-fill::before { content: "\f7aa"; } +.bi-4-square::before { content: "\f7ab"; } +.bi-5-circle-1::before { content: "\f7ac"; } +.bi-5-circle-fill-1::before { content: "\f7ad"; } +.bi-5-circle-fill::before { content: "\f7ae"; } +.bi-5-circle::before { content: "\f7af"; } +.bi-5-square-fill::before { content: "\f7b0"; } +.bi-5-square::before { content: "\f7b1"; } +.bi-6-circle-1::before { content: "\f7b2"; } +.bi-6-circle-fill-1::before { content: "\f7b3"; } +.bi-6-circle-fill::before { content: "\f7b4"; } +.bi-6-circle::before { content: "\f7b5"; } +.bi-6-square-fill::before { content: "\f7b6"; } +.bi-6-square::before { content: "\f7b7"; } +.bi-7-circle-1::before { content: "\f7b8"; } +.bi-7-circle-fill-1::before { content: "\f7b9"; } +.bi-7-circle-fill::before { content: "\f7ba"; } +.bi-7-circle::before { content: "\f7bb"; } +.bi-7-square-fill::before { content: "\f7bc"; } +.bi-7-square::before { content: "\f7bd"; } +.bi-8-circle-1::before { content: "\f7be"; } +.bi-8-circle-fill-1::before { content: "\f7bf"; } +.bi-8-circle-fill::before { content: "\f7c0"; } +.bi-8-circle::before { content: "\f7c1"; } +.bi-8-square-fill::before { content: "\f7c2"; } +.bi-8-square::before { content: "\f7c3"; } +.bi-9-circle-1::before { content: "\f7c4"; } +.bi-9-circle-fill-1::before { content: "\f7c5"; } +.bi-9-circle-fill::before { content: "\f7c6"; } +.bi-9-circle::before { content: "\f7c7"; } +.bi-9-square-fill::before { content: "\f7c8"; } +.bi-9-square::before { content: "\f7c9"; } +.bi-airplane-engines-fill::before { content: "\f7ca"; } +.bi-airplane-engines::before { content: "\f7cb"; } +.bi-airplane-fill::before { content: "\f7cc"; } +.bi-airplane::before { content: "\f7cd"; } +.bi-alexa::before { content: "\f7ce"; } +.bi-alipay::before { content: "\f7cf"; } +.bi-android::before { content: "\f7d0"; } +.bi-android2::before { content: "\f7d1"; } +.bi-box-fill::before { content: "\f7d2"; } +.bi-box-seam-fill::before { content: "\f7d3"; } +.bi-browser-chrome::before { content: "\f7d4"; } +.bi-browser-edge::before { content: "\f7d5"; } +.bi-browser-firefox::before { content: "\f7d6"; } +.bi-browser-safari::before { content: "\f7d7"; } +.bi-c-circle-1::before { content: "\f7d8"; } +.bi-c-circle-fill-1::before { content: "\f7d9"; } +.bi-c-circle-fill::before { content: "\f7da"; } +.bi-c-circle::before { content: "\f7db"; } +.bi-c-square-fill::before { content: "\f7dc"; } +.bi-c-square::before { content: "\f7dd"; } +.bi-capsule-pill::before { content: "\f7de"; } +.bi-capsule::before { content: "\f7df"; } +.bi-car-front-fill::before { content: "\f7e0"; } +.bi-car-front::before { content: "\f7e1"; } +.bi-cassette-fill::before { content: "\f7e2"; } +.bi-cassette::before { content: "\f7e3"; } +.bi-cc-circle-1::before { content: "\f7e4"; } +.bi-cc-circle-fill-1::before { content: "\f7e5"; } +.bi-cc-circle-fill::before { content: "\f7e6"; } +.bi-cc-circle::before { content: "\f7e7"; } +.bi-cc-square-fill::before { content: "\f7e8"; } +.bi-cc-square::before { content: "\f7e9"; } +.bi-cup-hot-fill::before { content: "\f7ea"; } +.bi-cup-hot::before { content: "\f7eb"; } +.bi-currency-rupee::before { content: "\f7ec"; } +.bi-dropbox::before { content: "\f7ed"; } +.bi-escape::before { content: "\f7ee"; } +.bi-fast-forward-btn-fill::before { content: "\f7ef"; } +.bi-fast-forward-btn::before { content: "\f7f0"; } +.bi-fast-forward-circle-fill::before { content: "\f7f1"; } +.bi-fast-forward-circle::before { content: "\f7f2"; } +.bi-fast-forward-fill::before { content: "\f7f3"; } +.bi-fast-forward::before { content: "\f7f4"; } +.bi-filetype-sql::before { content: "\f7f5"; } +.bi-fire::before { content: "\f7f6"; } +.bi-google-play::before { content: "\f7f7"; } +.bi-h-circle-1::before { content: "\f7f8"; } +.bi-h-circle-fill-1::before { content: "\f7f9"; } +.bi-h-circle-fill::before { content: "\f7fa"; } +.bi-h-circle::before { content: "\f7fb"; } +.bi-h-square-fill::before { content: "\f7fc"; } +.bi-h-square::before { content: "\f7fd"; } +.bi-indent::before { content: "\f7fe"; } +.bi-lungs-fill::before { content: "\f7ff"; } +.bi-lungs::before { content: "\f800"; } +.bi-microsoft-teams::before { content: "\f801"; } +.bi-p-circle-1::before { content: "\f802"; } +.bi-p-circle-fill-1::before { content: "\f803"; } +.bi-p-circle-fill::before { content: "\f804"; } +.bi-p-circle::before { content: "\f805"; } +.bi-p-square-fill::before { content: "\f806"; } +.bi-p-square::before { content: "\f807"; } +.bi-pass-fill::before { content: "\f808"; } +.bi-pass::before { content: "\f809"; } +.bi-prescription::before { content: "\f80a"; } +.bi-prescription2::before { content: "\f80b"; } +.bi-r-circle-1::before { content: "\f80c"; } +.bi-r-circle-fill-1::before { content: "\f80d"; } +.bi-r-circle-fill::before { content: "\f80e"; } +.bi-r-circle::before { content: "\f80f"; } +.bi-r-square-fill::before { content: "\f810"; } +.bi-r-square::before { content: "\f811"; } +.bi-repeat-1::before { content: "\f812"; } +.bi-repeat::before { content: "\f813"; } +.bi-rewind-btn-fill::before { content: "\f814"; } +.bi-rewind-btn::before { content: "\f815"; } +.bi-rewind-circle-fill::before { content: "\f816"; } +.bi-rewind-circle::before { content: "\f817"; } +.bi-rewind-fill::before { content: "\f818"; } +.bi-rewind::before { content: "\f819"; } +.bi-train-freight-front-fill::before { content: "\f81a"; } +.bi-train-freight-front::before { content: "\f81b"; } +.bi-train-front-fill::before { content: "\f81c"; } +.bi-train-front::before { content: "\f81d"; } +.bi-train-lightrail-front-fill::before { content: "\f81e"; } +.bi-train-lightrail-front::before { content: "\f81f"; } +.bi-truck-front-fill::before { content: "\f820"; } +.bi-truck-front::before { content: "\f821"; } +.bi-ubuntu::before { content: "\f822"; } +.bi-unindent::before { content: "\f823"; } +.bi-unity::before { content: "\f824"; } +.bi-universal-access-circle::before { content: "\f825"; } +.bi-universal-access::before { content: "\f826"; } +.bi-virus::before { content: "\f827"; } +.bi-virus2::before { content: "\f828"; } +.bi-wechat::before { content: "\f829"; } +.bi-yelp::before { content: "\f82a"; } +.bi-sign-stop-fill::before { content: "\f82b"; } +.bi-sign-stop-lights-fill::before { content: "\f82c"; } +.bi-sign-stop-lights::before { content: "\f82d"; } +.bi-sign-stop::before { content: "\f82e"; } +.bi-sign-turn-left-fill::before { content: "\f82f"; } +.bi-sign-turn-left::before { content: "\f830"; } +.bi-sign-turn-right-fill::before { content: "\f831"; } +.bi-sign-turn-right::before { content: "\f832"; } +.bi-sign-turn-slight-left-fill::before { content: "\f833"; } +.bi-sign-turn-slight-left::before { content: "\f834"; } +.bi-sign-turn-slight-right-fill::before { content: "\f835"; } +.bi-sign-turn-slight-right::before { content: "\f836"; } +.bi-sign-yield-fill::before { content: "\f837"; } +.bi-sign-yield::before { content: "\f838"; } +.bi-ev-station-fill::before { content: "\f839"; } +.bi-ev-station::before { content: "\f83a"; } +.bi-fuel-pump-diesel-fill::before { content: "\f83b"; } +.bi-fuel-pump-diesel::before { content: "\f83c"; } +.bi-fuel-pump-fill::before { content: "\f83d"; } +.bi-fuel-pump::before { content: "\f83e"; } diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.json b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.json new file mode 100644 index 000000000..faa3b2ce7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.json @@ -0,0 +1,1856 @@ +{ + "123": 63103, + "alarm-fill": 61697, + "alarm": 61698, + "align-bottom": 61699, + "align-center": 61700, + "align-end": 61701, + "align-middle": 61702, + "align-start": 61703, + "align-top": 61704, + "alt": 61705, + "app-indicator": 61706, + "app": 61707, + "archive-fill": 61708, + "archive": 61709, + "arrow-90deg-down": 61710, + "arrow-90deg-left": 61711, + "arrow-90deg-right": 61712, + "arrow-90deg-up": 61713, + "arrow-bar-down": 61714, + "arrow-bar-left": 61715, + "arrow-bar-right": 61716, + "arrow-bar-up": 61717, + "arrow-clockwise": 61718, + "arrow-counterclockwise": 61719, + "arrow-down-circle-fill": 61720, + "arrow-down-circle": 61721, + "arrow-down-left-circle-fill": 61722, + "arrow-down-left-circle": 61723, + "arrow-down-left-square-fill": 61724, + "arrow-down-left-square": 61725, + "arrow-down-left": 61726, + "arrow-down-right-circle-fill": 61727, + "arrow-down-right-circle": 61728, + "arrow-down-right-square-fill": 61729, + "arrow-down-right-square": 61730, + "arrow-down-right": 61731, + "arrow-down-short": 61732, + "arrow-down-square-fill": 61733, + "arrow-down-square": 61734, + "arrow-down-up": 61735, + "arrow-down": 61736, + "arrow-left-circle-fill": 61737, + "arrow-left-circle": 61738, + "arrow-left-right": 61739, + "arrow-left-short": 61740, + "arrow-left-square-fill": 61741, + "arrow-left-square": 61742, + "arrow-left": 61743, + "arrow-repeat": 61744, + "arrow-return-left": 61745, + "arrow-return-right": 61746, + "arrow-right-circle-fill": 61747, + "arrow-right-circle": 61748, + "arrow-right-short": 61749, + "arrow-right-square-fill": 61750, + "arrow-right-square": 61751, + "arrow-right": 61752, + "arrow-up-circle-fill": 61753, + "arrow-up-circle": 61754, + "arrow-up-left-circle-fill": 61755, + "arrow-up-left-circle": 61756, + "arrow-up-left-square-fill": 61757, + "arrow-up-left-square": 61758, + "arrow-up-left": 61759, + "arrow-up-right-circle-fill": 61760, + "arrow-up-right-circle": 61761, + "arrow-up-right-square-fill": 61762, + "arrow-up-right-square": 61763, + "arrow-up-right": 61764, + "arrow-up-short": 61765, + "arrow-up-square-fill": 61766, + "arrow-up-square": 61767, + "arrow-up": 61768, + "arrows-angle-contract": 61769, + "arrows-angle-expand": 61770, + "arrows-collapse": 61771, + "arrows-expand": 61772, + "arrows-fullscreen": 61773, + "arrows-move": 61774, + "aspect-ratio-fill": 61775, + "aspect-ratio": 61776, + "asterisk": 61777, + "at": 61778, + "award-fill": 61779, + "award": 61780, + "back": 61781, + "backspace-fill": 61782, + "backspace-reverse-fill": 61783, + "backspace-reverse": 61784, + "backspace": 61785, + "badge-3d-fill": 61786, + "badge-3d": 61787, + "badge-4k-fill": 61788, + "badge-4k": 61789, + "badge-8k-fill": 61790, + "badge-8k": 61791, + "badge-ad-fill": 61792, + "badge-ad": 61793, + "badge-ar-fill": 61794, + "badge-ar": 61795, + "badge-cc-fill": 61796, + "badge-cc": 61797, + "badge-hd-fill": 61798, + "badge-hd": 61799, + "badge-tm-fill": 61800, + "badge-tm": 61801, + "badge-vo-fill": 61802, + "badge-vo": 61803, + "badge-vr-fill": 61804, + "badge-vr": 61805, + "badge-wc-fill": 61806, + "badge-wc": 61807, + "bag-check-fill": 61808, + "bag-check": 61809, + "bag-dash-fill": 61810, + "bag-dash": 61811, + "bag-fill": 61812, + "bag-plus-fill": 61813, + "bag-plus": 61814, + "bag-x-fill": 61815, + "bag-x": 61816, + "bag": 61817, + "bar-chart-fill": 61818, + "bar-chart-line-fill": 61819, + "bar-chart-line": 61820, + "bar-chart-steps": 61821, + "bar-chart": 61822, + "basket-fill": 61823, + "basket": 61824, + "basket2-fill": 61825, + "basket2": 61826, + "basket3-fill": 61827, + "basket3": 61828, + "battery-charging": 61829, + "battery-full": 61830, + "battery-half": 61831, + "battery": 61832, + "bell-fill": 61833, + "bell": 61834, + "bezier": 61835, + "bezier2": 61836, + "bicycle": 61837, + "binoculars-fill": 61838, + "binoculars": 61839, + "blockquote-left": 61840, + "blockquote-right": 61841, + "book-fill": 61842, + "book-half": 61843, + "book": 61844, + "bookmark-check-fill": 61845, + "bookmark-check": 61846, + "bookmark-dash-fill": 61847, + "bookmark-dash": 61848, + "bookmark-fill": 61849, + "bookmark-heart-fill": 61850, + "bookmark-heart": 61851, + "bookmark-plus-fill": 61852, + "bookmark-plus": 61853, + "bookmark-star-fill": 61854, + "bookmark-star": 61855, + "bookmark-x-fill": 61856, + "bookmark-x": 61857, + "bookmark": 61858, + "bookmarks-fill": 61859, + "bookmarks": 61860, + "bookshelf": 61861, + "bootstrap-fill": 61862, + "bootstrap-reboot": 61863, + "bootstrap": 61864, + "border-all": 61865, + "border-bottom": 61866, + "border-center": 61867, + "border-inner": 61868, + "border-left": 61869, + "border-middle": 61870, + "border-outer": 61871, + "border-right": 61872, + "border-style": 61873, + "border-top": 61874, + "border-width": 61875, + "border": 61876, + "bounding-box-circles": 61877, + "bounding-box": 61878, + "box-arrow-down-left": 61879, + "box-arrow-down-right": 61880, + "box-arrow-down": 61881, + "box-arrow-in-down-left": 61882, + "box-arrow-in-down-right": 61883, + "box-arrow-in-down": 61884, + "box-arrow-in-left": 61885, + "box-arrow-in-right": 61886, + "box-arrow-in-up-left": 61887, + "box-arrow-in-up-right": 61888, + "box-arrow-in-up": 61889, + "box-arrow-left": 61890, + "box-arrow-right": 61891, + "box-arrow-up-left": 61892, + "box-arrow-up-right": 61893, + "box-arrow-up": 61894, + "box-seam": 61895, + "box": 61896, + "braces": 61897, + "bricks": 61898, + "briefcase-fill": 61899, + "briefcase": 61900, + "brightness-alt-high-fill": 61901, + "brightness-alt-high": 61902, + "brightness-alt-low-fill": 61903, + "brightness-alt-low": 61904, + "brightness-high-fill": 61905, + "brightness-high": 61906, + "brightness-low-fill": 61907, + "brightness-low": 61908, + "broadcast-pin": 61909, + "broadcast": 61910, + "brush-fill": 61911, + "brush": 61912, + "bucket-fill": 61913, + "bucket": 61914, + "bug-fill": 61915, + "bug": 61916, + "building": 61917, + "bullseye": 61918, + "calculator-fill": 61919, + "calculator": 61920, + "calendar-check-fill": 61921, + "calendar-check": 61922, + "calendar-date-fill": 61923, + "calendar-date": 61924, + "calendar-day-fill": 61925, + "calendar-day": 61926, + "calendar-event-fill": 61927, + "calendar-event": 61928, + "calendar-fill": 61929, + "calendar-minus-fill": 61930, + "calendar-minus": 61931, + "calendar-month-fill": 61932, + "calendar-month": 61933, + "calendar-plus-fill": 61934, + "calendar-plus": 61935, + "calendar-range-fill": 61936, + "calendar-range": 61937, + "calendar-week-fill": 61938, + "calendar-week": 61939, + "calendar-x-fill": 61940, + "calendar-x": 61941, + "calendar": 61942, + "calendar2-check-fill": 61943, + "calendar2-check": 61944, + "calendar2-date-fill": 61945, + "calendar2-date": 61946, + "calendar2-day-fill": 61947, + "calendar2-day": 61948, + "calendar2-event-fill": 61949, + "calendar2-event": 61950, + "calendar2-fill": 61951, + "calendar2-minus-fill": 61952, + "calendar2-minus": 61953, + "calendar2-month-fill": 61954, + "calendar2-month": 61955, + "calendar2-plus-fill": 61956, + "calendar2-plus": 61957, + "calendar2-range-fill": 61958, + "calendar2-range": 61959, + "calendar2-week-fill": 61960, + "calendar2-week": 61961, + "calendar2-x-fill": 61962, + "calendar2-x": 61963, + "calendar2": 61964, + "calendar3-event-fill": 61965, + "calendar3-event": 61966, + "calendar3-fill": 61967, + "calendar3-range-fill": 61968, + "calendar3-range": 61969, + "calendar3-week-fill": 61970, + "calendar3-week": 61971, + "calendar3": 61972, + "calendar4-event": 61973, + "calendar4-range": 61974, + "calendar4-week": 61975, + "calendar4": 61976, + "camera-fill": 61977, + "camera-reels-fill": 61978, + "camera-reels": 61979, + "camera-video-fill": 61980, + "camera-video-off-fill": 61981, + "camera-video-off": 61982, + "camera-video": 61983, + "camera": 61984, + "camera2": 61985, + "capslock-fill": 61986, + "capslock": 61987, + "card-checklist": 61988, + "card-heading": 61989, + "card-image": 61990, + "card-list": 61991, + "card-text": 61992, + "caret-down-fill": 61993, + "caret-down-square-fill": 61994, + "caret-down-square": 61995, + "caret-down": 61996, + "caret-left-fill": 61997, + "caret-left-square-fill": 61998, + "caret-left-square": 61999, + "caret-left": 62000, + "caret-right-fill": 62001, + "caret-right-square-fill": 62002, + "caret-right-square": 62003, + "caret-right": 62004, + "caret-up-fill": 62005, + "caret-up-square-fill": 62006, + "caret-up-square": 62007, + "caret-up": 62008, + "cart-check-fill": 62009, + "cart-check": 62010, + "cart-dash-fill": 62011, + "cart-dash": 62012, + "cart-fill": 62013, + "cart-plus-fill": 62014, + "cart-plus": 62015, + "cart-x-fill": 62016, + "cart-x": 62017, + "cart": 62018, + "cart2": 62019, + "cart3": 62020, + "cart4": 62021, + "cash-stack": 62022, + "cash": 62023, + "cast": 62024, + "chat-dots-fill": 62025, + "chat-dots": 62026, + "chat-fill": 62027, + "chat-left-dots-fill": 62028, + "chat-left-dots": 62029, + "chat-left-fill": 62030, + "chat-left-quote-fill": 62031, + "chat-left-quote": 62032, + "chat-left-text-fill": 62033, + "chat-left-text": 62034, + "chat-left": 62035, + "chat-quote-fill": 62036, + "chat-quote": 62037, + "chat-right-dots-fill": 62038, + "chat-right-dots": 62039, + "chat-right-fill": 62040, + "chat-right-quote-fill": 62041, + "chat-right-quote": 62042, + "chat-right-text-fill": 62043, + "chat-right-text": 62044, + "chat-right": 62045, + "chat-square-dots-fill": 62046, + "chat-square-dots": 62047, + "chat-square-fill": 62048, + "chat-square-quote-fill": 62049, + "chat-square-quote": 62050, + "chat-square-text-fill": 62051, + "chat-square-text": 62052, + "chat-square": 62053, + "chat-text-fill": 62054, + "chat-text": 62055, + "chat": 62056, + "check-all": 62057, + "check-circle-fill": 62058, + "check-circle": 62059, + "check-square-fill": 62060, + "check-square": 62061, + "check": 62062, + "check2-all": 62063, + "check2-circle": 62064, + "check2-square": 62065, + "check2": 62066, + "chevron-bar-contract": 62067, + "chevron-bar-down": 62068, + "chevron-bar-expand": 62069, + "chevron-bar-left": 62070, + "chevron-bar-right": 62071, + "chevron-bar-up": 62072, + "chevron-compact-down": 62073, + "chevron-compact-left": 62074, + "chevron-compact-right": 62075, + "chevron-compact-up": 62076, + "chevron-contract": 62077, + "chevron-double-down": 62078, + "chevron-double-left": 62079, + "chevron-double-right": 62080, + "chevron-double-up": 62081, + "chevron-down": 62082, + "chevron-expand": 62083, + "chevron-left": 62084, + "chevron-right": 62085, + "chevron-up": 62086, + "circle-fill": 62087, + "circle-half": 62088, + "circle-square": 62089, + "circle": 62090, + "clipboard-check": 62091, + "clipboard-data": 62092, + "clipboard-minus": 62093, + "clipboard-plus": 62094, + "clipboard-x": 62095, + "clipboard": 62096, + "clock-fill": 62097, + "clock-history": 62098, + "clock": 62099, + "cloud-arrow-down-fill": 62100, + "cloud-arrow-down": 62101, + "cloud-arrow-up-fill": 62102, + "cloud-arrow-up": 62103, + "cloud-check-fill": 62104, + "cloud-check": 62105, + "cloud-download-fill": 62106, + "cloud-download": 62107, + "cloud-drizzle-fill": 62108, + "cloud-drizzle": 62109, + "cloud-fill": 62110, + "cloud-fog-fill": 62111, + "cloud-fog": 62112, + "cloud-fog2-fill": 62113, + "cloud-fog2": 62114, + "cloud-hail-fill": 62115, + "cloud-hail": 62116, + "cloud-haze-1": 62117, + "cloud-haze-fill": 62118, + "cloud-haze": 62119, + "cloud-haze2-fill": 62120, + "cloud-lightning-fill": 62121, + "cloud-lightning-rain-fill": 62122, + "cloud-lightning-rain": 62123, + "cloud-lightning": 62124, + "cloud-minus-fill": 62125, + "cloud-minus": 62126, + "cloud-moon-fill": 62127, + "cloud-moon": 62128, + "cloud-plus-fill": 62129, + "cloud-plus": 62130, + "cloud-rain-fill": 62131, + "cloud-rain-heavy-fill": 62132, + "cloud-rain-heavy": 62133, + "cloud-rain": 62134, + "cloud-slash-fill": 62135, + "cloud-slash": 62136, + "cloud-sleet-fill": 62137, + "cloud-sleet": 62138, + "cloud-snow-fill": 62139, + "cloud-snow": 62140, + "cloud-sun-fill": 62141, + "cloud-sun": 62142, + "cloud-upload-fill": 62143, + "cloud-upload": 62144, + "cloud": 62145, + "clouds-fill": 62146, + "clouds": 62147, + "cloudy-fill": 62148, + "cloudy": 62149, + "code-slash": 62150, + "code-square": 62151, + "code": 62152, + "collection-fill": 62153, + "collection-play-fill": 62154, + "collection-play": 62155, + "collection": 62156, + "columns-gap": 62157, + "columns": 62158, + "command": 62159, + "compass-fill": 62160, + "compass": 62161, + "cone-striped": 62162, + "cone": 62163, + "controller": 62164, + "cpu-fill": 62165, + "cpu": 62166, + "credit-card-2-back-fill": 62167, + "credit-card-2-back": 62168, + "credit-card-2-front-fill": 62169, + "credit-card-2-front": 62170, + "credit-card-fill": 62171, + "credit-card": 62172, + "crop": 62173, + "cup-fill": 62174, + "cup-straw": 62175, + "cup": 62176, + "cursor-fill": 62177, + "cursor-text": 62178, + "cursor": 62179, + "dash-circle-dotted": 62180, + "dash-circle-fill": 62181, + "dash-circle": 62182, + "dash-square-dotted": 62183, + "dash-square-fill": 62184, + "dash-square": 62185, + "dash": 62186, + "diagram-2-fill": 62187, + "diagram-2": 62188, + "diagram-3-fill": 62189, + "diagram-3": 62190, + "diamond-fill": 62191, + "diamond-half": 62192, + "diamond": 62193, + "dice-1-fill": 62194, + "dice-1": 62195, + "dice-2-fill": 62196, + "dice-2": 62197, + "dice-3-fill": 62198, + "dice-3": 62199, + "dice-4-fill": 62200, + "dice-4": 62201, + "dice-5-fill": 62202, + "dice-5": 62203, + "dice-6-fill": 62204, + "dice-6": 62205, + "disc-fill": 62206, + "disc": 62207, + "discord": 62208, + "display-fill": 62209, + "display": 62210, + "distribute-horizontal": 62211, + "distribute-vertical": 62212, + "door-closed-fill": 62213, + "door-closed": 62214, + "door-open-fill": 62215, + "door-open": 62216, + "dot": 62217, + "download": 62218, + "droplet-fill": 62219, + "droplet-half": 62220, + "droplet": 62221, + "earbuds": 62222, + "easel-fill": 62223, + "easel": 62224, + "egg-fill": 62225, + "egg-fried": 62226, + "egg": 62227, + "eject-fill": 62228, + "eject": 62229, + "emoji-angry-fill": 62230, + "emoji-angry": 62231, + "emoji-dizzy-fill": 62232, + "emoji-dizzy": 62233, + "emoji-expressionless-fill": 62234, + "emoji-expressionless": 62235, + "emoji-frown-fill": 62236, + "emoji-frown": 62237, + "emoji-heart-eyes-fill": 62238, + "emoji-heart-eyes": 62239, + "emoji-laughing-fill": 62240, + "emoji-laughing": 62241, + "emoji-neutral-fill": 62242, + "emoji-neutral": 62243, + "emoji-smile-fill": 62244, + "emoji-smile-upside-down-fill": 62245, + "emoji-smile-upside-down": 62246, + "emoji-smile": 62247, + "emoji-sunglasses-fill": 62248, + "emoji-sunglasses": 62249, + "emoji-wink-fill": 62250, + "emoji-wink": 62251, + "envelope-fill": 62252, + "envelope-open-fill": 62253, + "envelope-open": 62254, + "envelope": 62255, + "eraser-fill": 62256, + "eraser": 62257, + "exclamation-circle-fill": 62258, + "exclamation-circle": 62259, + "exclamation-diamond-fill": 62260, + "exclamation-diamond": 62261, + "exclamation-octagon-fill": 62262, + "exclamation-octagon": 62263, + "exclamation-square-fill": 62264, + "exclamation-square": 62265, + "exclamation-triangle-fill": 62266, + "exclamation-triangle": 62267, + "exclamation": 62268, + "exclude": 62269, + "eye-fill": 62270, + "eye-slash-fill": 62271, + "eye-slash": 62272, + "eye": 62273, + "eyedropper": 62274, + "eyeglasses": 62275, + "facebook": 62276, + "file-arrow-down-fill": 62277, + "file-arrow-down": 62278, + "file-arrow-up-fill": 62279, + "file-arrow-up": 62280, + "file-bar-graph-fill": 62281, + "file-bar-graph": 62282, + "file-binary-fill": 62283, + "file-binary": 62284, + "file-break-fill": 62285, + "file-break": 62286, + "file-check-fill": 62287, + "file-check": 62288, + "file-code-fill": 62289, + "file-code": 62290, + "file-diff-fill": 62291, + "file-diff": 62292, + "file-earmark-arrow-down-fill": 62293, + "file-earmark-arrow-down": 62294, + "file-earmark-arrow-up-fill": 62295, + "file-earmark-arrow-up": 62296, + "file-earmark-bar-graph-fill": 62297, + "file-earmark-bar-graph": 62298, + "file-earmark-binary-fill": 62299, + "file-earmark-binary": 62300, + "file-earmark-break-fill": 62301, + "file-earmark-break": 62302, + "file-earmark-check-fill": 62303, + "file-earmark-check": 62304, + "file-earmark-code-fill": 62305, + "file-earmark-code": 62306, + "file-earmark-diff-fill": 62307, + "file-earmark-diff": 62308, + "file-earmark-easel-fill": 62309, + "file-earmark-easel": 62310, + "file-earmark-excel-fill": 62311, + "file-earmark-excel": 62312, + "file-earmark-fill": 62313, + "file-earmark-font-fill": 62314, + "file-earmark-font": 62315, + "file-earmark-image-fill": 62316, + "file-earmark-image": 62317, + "file-earmark-lock-fill": 62318, + "file-earmark-lock": 62319, + "file-earmark-lock2-fill": 62320, + "file-earmark-lock2": 62321, + "file-earmark-medical-fill": 62322, + "file-earmark-medical": 62323, + "file-earmark-minus-fill": 62324, + "file-earmark-minus": 62325, + "file-earmark-music-fill": 62326, + "file-earmark-music": 62327, + "file-earmark-person-fill": 62328, + "file-earmark-person": 62329, + "file-earmark-play-fill": 62330, + "file-earmark-play": 62331, + "file-earmark-plus-fill": 62332, + "file-earmark-plus": 62333, + "file-earmark-post-fill": 62334, + "file-earmark-post": 62335, + "file-earmark-ppt-fill": 62336, + "file-earmark-ppt": 62337, + "file-earmark-richtext-fill": 62338, + "file-earmark-richtext": 62339, + "file-earmark-ruled-fill": 62340, + "file-earmark-ruled": 62341, + "file-earmark-slides-fill": 62342, + "file-earmark-slides": 62343, + "file-earmark-spreadsheet-fill": 62344, + "file-earmark-spreadsheet": 62345, + "file-earmark-text-fill": 62346, + "file-earmark-text": 62347, + "file-earmark-word-fill": 62348, + "file-earmark-word": 62349, + "file-earmark-x-fill": 62350, + "file-earmark-x": 62351, + "file-earmark-zip-fill": 62352, + "file-earmark-zip": 62353, + "file-earmark": 62354, + "file-easel-fill": 62355, + "file-easel": 62356, + "file-excel-fill": 62357, + "file-excel": 62358, + "file-fill": 62359, + "file-font-fill": 62360, + "file-font": 62361, + "file-image-fill": 62362, + "file-image": 62363, + "file-lock-fill": 62364, + "file-lock": 62365, + "file-lock2-fill": 62366, + "file-lock2": 62367, + "file-medical-fill": 62368, + "file-medical": 62369, + "file-minus-fill": 62370, + "file-minus": 62371, + "file-music-fill": 62372, + "file-music": 62373, + "file-person-fill": 62374, + "file-person": 62375, + "file-play-fill": 62376, + "file-play": 62377, + "file-plus-fill": 62378, + "file-plus": 62379, + "file-post-fill": 62380, + "file-post": 62381, + "file-ppt-fill": 62382, + "file-ppt": 62383, + "file-richtext-fill": 62384, + "file-richtext": 62385, + "file-ruled-fill": 62386, + "file-ruled": 62387, + "file-slides-fill": 62388, + "file-slides": 62389, + "file-spreadsheet-fill": 62390, + "file-spreadsheet": 62391, + "file-text-fill": 62392, + "file-text": 62393, + "file-word-fill": 62394, + "file-word": 62395, + "file-x-fill": 62396, + "file-x": 62397, + "file-zip-fill": 62398, + "file-zip": 62399, + "file": 62400, + "files-alt": 62401, + "files": 62402, + "film": 62403, + "filter-circle-fill": 62404, + "filter-circle": 62405, + "filter-left": 62406, + "filter-right": 62407, + "filter-square-fill": 62408, + "filter-square": 62409, + "filter": 62410, + "flag-fill": 62411, + "flag": 62412, + "flower1": 62413, + "flower2": 62414, + "flower3": 62415, + "folder-check": 62416, + "folder-fill": 62417, + "folder-minus": 62418, + "folder-plus": 62419, + "folder-symlink-fill": 62420, + "folder-symlink": 62421, + "folder-x": 62422, + "folder": 62423, + "folder2-open": 62424, + "folder2": 62425, + "fonts": 62426, + "forward-fill": 62427, + "forward": 62428, + "front": 62429, + "fullscreen-exit": 62430, + "fullscreen": 62431, + "funnel-fill": 62432, + "funnel": 62433, + "gear-fill": 62434, + "gear-wide-connected": 62435, + "gear-wide": 62436, + "gear": 62437, + "gem": 62438, + "geo-alt-fill": 62439, + "geo-alt": 62440, + "geo-fill": 62441, + "geo": 62442, + "gift-fill": 62443, + "gift": 62444, + "github": 62445, + "globe": 62446, + "globe2": 62447, + "google": 62448, + "graph-down": 62449, + "graph-up": 62450, + "grid-1x2-fill": 62451, + "grid-1x2": 62452, + "grid-3x2-gap-fill": 62453, + "grid-3x2-gap": 62454, + "grid-3x2": 62455, + "grid-3x3-gap-fill": 62456, + "grid-3x3-gap": 62457, + "grid-3x3": 62458, + "grid-fill": 62459, + "grid": 62460, + "grip-horizontal": 62461, + "grip-vertical": 62462, + "hammer": 62463, + "hand-index-fill": 62464, + "hand-index-thumb-fill": 62465, + "hand-index-thumb": 62466, + "hand-index": 62467, + "hand-thumbs-down-fill": 62468, + "hand-thumbs-down": 62469, + "hand-thumbs-up-fill": 62470, + "hand-thumbs-up": 62471, + "handbag-fill": 62472, + "handbag": 62473, + "hash": 62474, + "hdd-fill": 62475, + "hdd-network-fill": 62476, + "hdd-network": 62477, + "hdd-rack-fill": 62478, + "hdd-rack": 62479, + "hdd-stack-fill": 62480, + "hdd-stack": 62481, + "hdd": 62482, + "headphones": 62483, + "headset": 62484, + "heart-fill": 62485, + "heart-half": 62486, + "heart": 62487, + "heptagon-fill": 62488, + "heptagon-half": 62489, + "heptagon": 62490, + "hexagon-fill": 62491, + "hexagon-half": 62492, + "hexagon": 62493, + "hourglass-bottom": 62494, + "hourglass-split": 62495, + "hourglass-top": 62496, + "hourglass": 62497, + "house-door-fill": 62498, + "house-door": 62499, + "house-fill": 62500, + "house": 62501, + "hr": 62502, + "hurricane": 62503, + "image-alt": 62504, + "image-fill": 62505, + "image": 62506, + "images": 62507, + "inbox-fill": 62508, + "inbox": 62509, + "inboxes-fill": 62510, + "inboxes": 62511, + "info-circle-fill": 62512, + "info-circle": 62513, + "info-square-fill": 62514, + "info-square": 62515, + "info": 62516, + "input-cursor-text": 62517, + "input-cursor": 62518, + "instagram": 62519, + "intersect": 62520, + "journal-album": 62521, + "journal-arrow-down": 62522, + "journal-arrow-up": 62523, + "journal-bookmark-fill": 62524, + "journal-bookmark": 62525, + "journal-check": 62526, + "journal-code": 62527, + "journal-medical": 62528, + "journal-minus": 62529, + "journal-plus": 62530, + "journal-richtext": 62531, + "journal-text": 62532, + "journal-x": 62533, + "journal": 62534, + "journals": 62535, + "joystick": 62536, + "justify-left": 62537, + "justify-right": 62538, + "justify": 62539, + "kanban-fill": 62540, + "kanban": 62541, + "key-fill": 62542, + "key": 62543, + "keyboard-fill": 62544, + "keyboard": 62545, + "ladder": 62546, + "lamp-fill": 62547, + "lamp": 62548, + "laptop-fill": 62549, + "laptop": 62550, + "layer-backward": 62551, + "layer-forward": 62552, + "layers-fill": 62553, + "layers-half": 62554, + "layers": 62555, + "layout-sidebar-inset-reverse": 62556, + "layout-sidebar-inset": 62557, + "layout-sidebar-reverse": 62558, + "layout-sidebar": 62559, + "layout-split": 62560, + "layout-text-sidebar-reverse": 62561, + "layout-text-sidebar": 62562, + "layout-text-window-reverse": 62563, + "layout-text-window": 62564, + "layout-three-columns": 62565, + "layout-wtf": 62566, + "life-preserver": 62567, + "lightbulb-fill": 62568, + "lightbulb-off-fill": 62569, + "lightbulb-off": 62570, + "lightbulb": 62571, + "lightning-charge-fill": 62572, + "lightning-charge": 62573, + "lightning-fill": 62574, + "lightning": 62575, + "link-45deg": 62576, + "link": 62577, + "linkedin": 62578, + "list-check": 62579, + "list-nested": 62580, + "list-ol": 62581, + "list-stars": 62582, + "list-task": 62583, + "list-ul": 62584, + "list": 62585, + "lock-fill": 62586, + "lock": 62587, + "mailbox": 62588, + "mailbox2": 62589, + "map-fill": 62590, + "map": 62591, + "markdown-fill": 62592, + "markdown": 62593, + "mask": 62594, + "megaphone-fill": 62595, + "megaphone": 62596, + "menu-app-fill": 62597, + "menu-app": 62598, + "menu-button-fill": 62599, + "menu-button-wide-fill": 62600, + "menu-button-wide": 62601, + "menu-button": 62602, + "menu-down": 62603, + "menu-up": 62604, + "mic-fill": 62605, + "mic-mute-fill": 62606, + "mic-mute": 62607, + "mic": 62608, + "minecart-loaded": 62609, + "minecart": 62610, + "moisture": 62611, + "moon-fill": 62612, + "moon-stars-fill": 62613, + "moon-stars": 62614, + "moon": 62615, + "mouse-fill": 62616, + "mouse": 62617, + "mouse2-fill": 62618, + "mouse2": 62619, + "mouse3-fill": 62620, + "mouse3": 62621, + "music-note-beamed": 62622, + "music-note-list": 62623, + "music-note": 62624, + "music-player-fill": 62625, + "music-player": 62626, + "newspaper": 62627, + "node-minus-fill": 62628, + "node-minus": 62629, + "node-plus-fill": 62630, + "node-plus": 62631, + "nut-fill": 62632, + "nut": 62633, + "octagon-fill": 62634, + "octagon-half": 62635, + "octagon": 62636, + "option": 62637, + "outlet": 62638, + "paint-bucket": 62639, + "palette-fill": 62640, + "palette": 62641, + "palette2": 62642, + "paperclip": 62643, + "paragraph": 62644, + "patch-check-fill": 62645, + "patch-check": 62646, + "patch-exclamation-fill": 62647, + "patch-exclamation": 62648, + "patch-minus-fill": 62649, + "patch-minus": 62650, + "patch-plus-fill": 62651, + "patch-plus": 62652, + "patch-question-fill": 62653, + "patch-question": 62654, + "pause-btn-fill": 62655, + "pause-btn": 62656, + "pause-circle-fill": 62657, + "pause-circle": 62658, + "pause-fill": 62659, + "pause": 62660, + "peace-fill": 62661, + "peace": 62662, + "pen-fill": 62663, + "pen": 62664, + "pencil-fill": 62665, + "pencil-square": 62666, + "pencil": 62667, + "pentagon-fill": 62668, + "pentagon-half": 62669, + "pentagon": 62670, + "people-fill": 62671, + "people": 62672, + "percent": 62673, + "person-badge-fill": 62674, + "person-badge": 62675, + "person-bounding-box": 62676, + "person-check-fill": 62677, + "person-check": 62678, + "person-circle": 62679, + "person-dash-fill": 62680, + "person-dash": 62681, + "person-fill": 62682, + "person-lines-fill": 62683, + "person-plus-fill": 62684, + "person-plus": 62685, + "person-square": 62686, + "person-x-fill": 62687, + "person-x": 62688, + "person": 62689, + "phone-fill": 62690, + "phone-landscape-fill": 62691, + "phone-landscape": 62692, + "phone-vibrate-fill": 62693, + "phone-vibrate": 62694, + "phone": 62695, + "pie-chart-fill": 62696, + "pie-chart": 62697, + "pin-angle-fill": 62698, + "pin-angle": 62699, + "pin-fill": 62700, + "pin": 62701, + "pip-fill": 62702, + "pip": 62703, + "play-btn-fill": 62704, + "play-btn": 62705, + "play-circle-fill": 62706, + "play-circle": 62707, + "play-fill": 62708, + "play": 62709, + "plug-fill": 62710, + "plug": 62711, + "plus-circle-dotted": 62712, + "plus-circle-fill": 62713, + "plus-circle": 62714, + "plus-square-dotted": 62715, + "plus-square-fill": 62716, + "plus-square": 62717, + "plus": 62718, + "power": 62719, + "printer-fill": 62720, + "printer": 62721, + "puzzle-fill": 62722, + "puzzle": 62723, + "question-circle-fill": 62724, + "question-circle": 62725, + "question-diamond-fill": 62726, + "question-diamond": 62727, + "question-octagon-fill": 62728, + "question-octagon": 62729, + "question-square-fill": 62730, + "question-square": 62731, + "question": 62732, + "rainbow": 62733, + "receipt-cutoff": 62734, + "receipt": 62735, + "reception-0": 62736, + "reception-1": 62737, + "reception-2": 62738, + "reception-3": 62739, + "reception-4": 62740, + "record-btn-fill": 62741, + "record-btn": 62742, + "record-circle-fill": 62743, + "record-circle": 62744, + "record-fill": 62745, + "record": 62746, + "record2-fill": 62747, + "record2": 62748, + "reply-all-fill": 62749, + "reply-all": 62750, + "reply-fill": 62751, + "reply": 62752, + "rss-fill": 62753, + "rss": 62754, + "rulers": 62755, + "save-fill": 62756, + "save": 62757, + "save2-fill": 62758, + "save2": 62759, + "scissors": 62760, + "screwdriver": 62761, + "search": 62762, + "segmented-nav": 62763, + "server": 62764, + "share-fill": 62765, + "share": 62766, + "shield-check": 62767, + "shield-exclamation": 62768, + "shield-fill-check": 62769, + "shield-fill-exclamation": 62770, + "shield-fill-minus": 62771, + "shield-fill-plus": 62772, + "shield-fill-x": 62773, + "shield-fill": 62774, + "shield-lock-fill": 62775, + "shield-lock": 62776, + "shield-minus": 62777, + "shield-plus": 62778, + "shield-shaded": 62779, + "shield-slash-fill": 62780, + "shield-slash": 62781, + "shield-x": 62782, + "shield": 62783, + "shift-fill": 62784, + "shift": 62785, + "shop-window": 62786, + "shop": 62787, + "shuffle": 62788, + "signpost-2-fill": 62789, + "signpost-2": 62790, + "signpost-fill": 62791, + "signpost-split-fill": 62792, + "signpost-split": 62793, + "signpost": 62794, + "sim-fill": 62795, + "sim": 62796, + "skip-backward-btn-fill": 62797, + "skip-backward-btn": 62798, + "skip-backward-circle-fill": 62799, + "skip-backward-circle": 62800, + "skip-backward-fill": 62801, + "skip-backward": 62802, + "skip-end-btn-fill": 62803, + "skip-end-btn": 62804, + "skip-end-circle-fill": 62805, + "skip-end-circle": 62806, + "skip-end-fill": 62807, + "skip-end": 62808, + "skip-forward-btn-fill": 62809, + "skip-forward-btn": 62810, + "skip-forward-circle-fill": 62811, + "skip-forward-circle": 62812, + "skip-forward-fill": 62813, + "skip-forward": 62814, + "skip-start-btn-fill": 62815, + "skip-start-btn": 62816, + "skip-start-circle-fill": 62817, + "skip-start-circle": 62818, + "skip-start-fill": 62819, + "skip-start": 62820, + "slack": 62821, + "slash-circle-fill": 62822, + "slash-circle": 62823, + "slash-square-fill": 62824, + "slash-square": 62825, + "slash": 62826, + "sliders": 62827, + "smartwatch": 62828, + "snow": 62829, + "snow2": 62830, + "snow3": 62831, + "sort-alpha-down-alt": 62832, + "sort-alpha-down": 62833, + "sort-alpha-up-alt": 62834, + "sort-alpha-up": 62835, + "sort-down-alt": 62836, + "sort-down": 62837, + "sort-numeric-down-alt": 62838, + "sort-numeric-down": 62839, + "sort-numeric-up-alt": 62840, + "sort-numeric-up": 62841, + "sort-up-alt": 62842, + "sort-up": 62843, + "soundwave": 62844, + "speaker-fill": 62845, + "speaker": 62846, + "speedometer": 62847, + "speedometer2": 62848, + "spellcheck": 62849, + "square-fill": 62850, + "square-half": 62851, + "square": 62852, + "stack": 62853, + "star-fill": 62854, + "star-half": 62855, + "star": 62856, + "stars": 62857, + "stickies-fill": 62858, + "stickies": 62859, + "sticky-fill": 62860, + "sticky": 62861, + "stop-btn-fill": 62862, + "stop-btn": 62863, + "stop-circle-fill": 62864, + "stop-circle": 62865, + "stop-fill": 62866, + "stop": 62867, + "stoplights-fill": 62868, + "stoplights": 62869, + "stopwatch-fill": 62870, + "stopwatch": 62871, + "subtract": 62872, + "suit-club-fill": 62873, + "suit-club": 62874, + "suit-diamond-fill": 62875, + "suit-diamond": 62876, + "suit-heart-fill": 62877, + "suit-heart": 62878, + "suit-spade-fill": 62879, + "suit-spade": 62880, + "sun-fill": 62881, + "sun": 62882, + "sunglasses": 62883, + "sunrise-fill": 62884, + "sunrise": 62885, + "sunset-fill": 62886, + "sunset": 62887, + "symmetry-horizontal": 62888, + "symmetry-vertical": 62889, + "table": 62890, + "tablet-fill": 62891, + "tablet-landscape-fill": 62892, + "tablet-landscape": 62893, + "tablet": 62894, + "tag-fill": 62895, + "tag": 62896, + "tags-fill": 62897, + "tags": 62898, + "telegram": 62899, + "telephone-fill": 62900, + "telephone-forward-fill": 62901, + "telephone-forward": 62902, + "telephone-inbound-fill": 62903, + "telephone-inbound": 62904, + "telephone-minus-fill": 62905, + "telephone-minus": 62906, + "telephone-outbound-fill": 62907, + "telephone-outbound": 62908, + "telephone-plus-fill": 62909, + "telephone-plus": 62910, + "telephone-x-fill": 62911, + "telephone-x": 62912, + "telephone": 62913, + "terminal-fill": 62914, + "terminal": 62915, + "text-center": 62916, + "text-indent-left": 62917, + "text-indent-right": 62918, + "text-left": 62919, + "text-paragraph": 62920, + "text-right": 62921, + "textarea-resize": 62922, + "textarea-t": 62923, + "textarea": 62924, + "thermometer-half": 62925, + "thermometer-high": 62926, + "thermometer-low": 62927, + "thermometer-snow": 62928, + "thermometer-sun": 62929, + "thermometer": 62930, + "three-dots-vertical": 62931, + "three-dots": 62932, + "toggle-off": 62933, + "toggle-on": 62934, + "toggle2-off": 62935, + "toggle2-on": 62936, + "toggles": 62937, + "toggles2": 62938, + "tools": 62939, + "tornado": 62940, + "trash-fill": 62941, + "trash": 62942, + "trash2-fill": 62943, + "trash2": 62944, + "tree-fill": 62945, + "tree": 62946, + "triangle-fill": 62947, + "triangle-half": 62948, + "triangle": 62949, + "trophy-fill": 62950, + "trophy": 62951, + "tropical-storm": 62952, + "truck-flatbed": 62953, + "truck": 62954, + "tsunami": 62955, + "tv-fill": 62956, + "tv": 62957, + "twitch": 62958, + "twitter": 62959, + "type-bold": 62960, + "type-h1": 62961, + "type-h2": 62962, + "type-h3": 62963, + "type-italic": 62964, + "type-strikethrough": 62965, + "type-underline": 62966, + "type": 62967, + "ui-checks-grid": 62968, + "ui-checks": 62969, + "ui-radios-grid": 62970, + "ui-radios": 62971, + "umbrella-fill": 62972, + "umbrella": 62973, + "union": 62974, + "unlock-fill": 62975, + "unlock": 62976, + "upc-scan": 62977, + "upc": 62978, + "upload": 62979, + "vector-pen": 62980, + "view-list": 62981, + "view-stacked": 62982, + "vinyl-fill": 62983, + "vinyl": 62984, + "voicemail": 62985, + "volume-down-fill": 62986, + "volume-down": 62987, + "volume-mute-fill": 62988, + "volume-mute": 62989, + "volume-off-fill": 62990, + "volume-off": 62991, + "volume-up-fill": 62992, + "volume-up": 62993, + "vr": 62994, + "wallet-fill": 62995, + "wallet": 62996, + "wallet2": 62997, + "watch": 62998, + "water": 62999, + "whatsapp": 63000, + "wifi-1": 63001, + "wifi-2": 63002, + "wifi-off": 63003, + "wifi": 63004, + "wind": 63005, + "window-dock": 63006, + "window-sidebar": 63007, + "window": 63008, + "wrench": 63009, + "x-circle-fill": 63010, + "x-circle": 63011, + "x-diamond-fill": 63012, + "x-diamond": 63013, + "x-octagon-fill": 63014, + "x-octagon": 63015, + "x-square-fill": 63016, + "x-square": 63017, + "x": 63018, + "youtube": 63019, + "zoom-in": 63020, + "zoom-out": 63021, + "bank": 63022, + "bank2": 63023, + "bell-slash-fill": 63024, + "bell-slash": 63025, + "cash-coin": 63026, + "check-lg": 63027, + "coin": 63028, + "currency-bitcoin": 63029, + "currency-dollar": 63030, + "currency-euro": 63031, + "currency-exchange": 63032, + "currency-pound": 63033, + "currency-yen": 63034, + "dash-lg": 63035, + "exclamation-lg": 63036, + "file-earmark-pdf-fill": 63037, + "file-earmark-pdf": 63038, + "file-pdf-fill": 63039, + "file-pdf": 63040, + "gender-ambiguous": 63041, + "gender-female": 63042, + "gender-male": 63043, + "gender-trans": 63044, + "headset-vr": 63045, + "info-lg": 63046, + "mastodon": 63047, + "messenger": 63048, + "piggy-bank-fill": 63049, + "piggy-bank": 63050, + "pin-map-fill": 63051, + "pin-map": 63052, + "plus-lg": 63053, + "question-lg": 63054, + "recycle": 63055, + "reddit": 63056, + "safe-fill": 63057, + "safe2-fill": 63058, + "safe2": 63059, + "sd-card-fill": 63060, + "sd-card": 63061, + "skype": 63062, + "slash-lg": 63063, + "translate": 63064, + "x-lg": 63065, + "safe": 63066, + "apple": 63067, + "microsoft": 63069, + "windows": 63070, + "behance": 63068, + "dribbble": 63071, + "line": 63072, + "medium": 63073, + "paypal": 63074, + "pinterest": 63075, + "signal": 63076, + "snapchat": 63077, + "spotify": 63078, + "stack-overflow": 63079, + "strava": 63080, + "wordpress": 63081, + "vimeo": 63082, + "activity": 63083, + "easel2-fill": 63084, + "easel2": 63085, + "easel3-fill": 63086, + "easel3": 63087, + "fan": 63088, + "fingerprint": 63089, + "graph-down-arrow": 63090, + "graph-up-arrow": 63091, + "hypnotize": 63092, + "magic": 63093, + "person-rolodex": 63094, + "person-video": 63095, + "person-video2": 63096, + "person-video3": 63097, + "person-workspace": 63098, + "radioactive": 63099, + "webcam-fill": 63100, + "webcam": 63101, + "yin-yang": 63102, + "bandaid-fill": 63104, + "bandaid": 63105, + "bluetooth": 63106, + "body-text": 63107, + "boombox": 63108, + "boxes": 63109, + "dpad-fill": 63110, + "dpad": 63111, + "ear-fill": 63112, + "ear": 63113, + "envelope-check-1": 63114, + "envelope-check-fill": 63115, + "envelope-check": 63116, + "envelope-dash-1": 63117, + "envelope-dash-fill": 63118, + "envelope-dash": 63119, + "envelope-exclamation-1": 63120, + "envelope-exclamation-fill": 63121, + "envelope-exclamation": 63122, + "envelope-plus-fill": 63123, + "envelope-plus": 63124, + "envelope-slash-1": 63125, + "envelope-slash-fill": 63126, + "envelope-slash": 63127, + "envelope-x-1": 63128, + "envelope-x-fill": 63129, + "envelope-x": 63130, + "explicit-fill": 63131, + "explicit": 63132, + "git": 63133, + "infinity": 63134, + "list-columns-reverse": 63135, + "list-columns": 63136, + "meta": 63137, + "mortorboard-fill": 63138, + "mortorboard": 63139, + "nintendo-switch": 63140, + "pc-display-horizontal": 63141, + "pc-display": 63142, + "pc-horizontal": 63143, + "pc": 63144, + "playstation": 63145, + "plus-slash-minus": 63146, + "projector-fill": 63147, + "projector": 63148, + "qr-code-scan": 63149, + "qr-code": 63150, + "quora": 63151, + "quote": 63152, + "robot": 63153, + "send-check-fill": 63154, + "send-check": 63155, + "send-dash-fill": 63156, + "send-dash": 63157, + "send-exclamation-1": 63158, + "send-exclamation-fill": 63159, + "send-exclamation": 63160, + "send-fill": 63161, + "send-plus-fill": 63162, + "send-plus": 63163, + "send-slash-fill": 63164, + "send-slash": 63165, + "send-x-fill": 63166, + "send-x": 63167, + "send": 63168, + "steam": 63169, + "terminal-dash-1": 63170, + "terminal-dash": 63171, + "terminal-plus": 63172, + "terminal-split": 63173, + "ticket-detailed-fill": 63174, + "ticket-detailed": 63175, + "ticket-fill": 63176, + "ticket-perforated-fill": 63177, + "ticket-perforated": 63178, + "ticket": 63179, + "tiktok": 63180, + "window-dash": 63181, + "window-desktop": 63182, + "window-fullscreen": 63183, + "window-plus": 63184, + "window-split": 63185, + "window-stack": 63186, + "window-x": 63187, + "xbox": 63188, + "ethernet": 63189, + "hdmi-fill": 63190, + "hdmi": 63191, + "usb-c-fill": 63192, + "usb-c": 63193, + "usb-fill": 63194, + "usb-plug-fill": 63195, + "usb-plug": 63196, + "usb-symbol": 63197, + "usb": 63198, + "boombox-fill": 63199, + "displayport-1": 63200, + "displayport": 63201, + "gpu-card": 63202, + "memory": 63203, + "modem-fill": 63204, + "modem": 63205, + "motherboard-fill": 63206, + "motherboard": 63207, + "optical-audio-fill": 63208, + "optical-audio": 63209, + "pci-card": 63210, + "router-fill": 63211, + "router": 63212, + "ssd-fill": 63213, + "ssd": 63214, + "thunderbolt-fill": 63215, + "thunderbolt": 63216, + "usb-drive-fill": 63217, + "usb-drive": 63218, + "usb-micro-fill": 63219, + "usb-micro": 63220, + "usb-mini-fill": 63221, + "usb-mini": 63222, + "cloud-haze2": 63223, + "device-hdd-fill": 63224, + "device-hdd": 63225, + "device-ssd-fill": 63226, + "device-ssd": 63227, + "displayport-fill": 63228, + "mortarboard-fill": 63229, + "mortarboard": 63230, + "terminal-x": 63231, + "arrow-through-heart-fill": 63232, + "arrow-through-heart": 63233, + "badge-sd-fill": 63234, + "badge-sd": 63235, + "bag-heart-fill": 63236, + "bag-heart": 63237, + "balloon-fill": 63238, + "balloon-heart-fill": 63239, + "balloon-heart": 63240, + "balloon": 63241, + "box2-fill": 63242, + "box2-heart-fill": 63243, + "box2-heart": 63244, + "box2": 63245, + "braces-asterisk": 63246, + "calendar-heart-fill": 63247, + "calendar-heart": 63248, + "calendar2-heart-fill": 63249, + "calendar2-heart": 63250, + "chat-heart-fill": 63251, + "chat-heart": 63252, + "chat-left-heart-fill": 63253, + "chat-left-heart": 63254, + "chat-right-heart-fill": 63255, + "chat-right-heart": 63256, + "chat-square-heart-fill": 63257, + "chat-square-heart": 63258, + "clipboard-check-fill": 63259, + "clipboard-data-fill": 63260, + "clipboard-fill": 63261, + "clipboard-heart-fill": 63262, + "clipboard-heart": 63263, + "clipboard-minus-fill": 63264, + "clipboard-plus-fill": 63265, + "clipboard-pulse": 63266, + "clipboard-x-fill": 63267, + "clipboard2-check-fill": 63268, + "clipboard2-check": 63269, + "clipboard2-data-fill": 63270, + "clipboard2-data": 63271, + "clipboard2-fill": 63272, + "clipboard2-heart-fill": 63273, + "clipboard2-heart": 63274, + "clipboard2-minus-fill": 63275, + "clipboard2-minus": 63276, + "clipboard2-plus-fill": 63277, + "clipboard2-plus": 63278, + "clipboard2-pulse-fill": 63279, + "clipboard2-pulse": 63280, + "clipboard2-x-fill": 63281, + "clipboard2-x": 63282, + "clipboard2": 63283, + "emoji-kiss-fill": 63284, + "emoji-kiss": 63285, + "envelope-heart-fill": 63286, + "envelope-heart": 63287, + "envelope-open-heart-fill": 63288, + "envelope-open-heart": 63289, + "envelope-paper-fill": 63290, + "envelope-paper-heart-fill": 63291, + "envelope-paper-heart": 63292, + "envelope-paper": 63293, + "filetype-aac": 63294, + "filetype-ai": 63295, + "filetype-bmp": 63296, + "filetype-cs": 63297, + "filetype-css": 63298, + "filetype-csv": 63299, + "filetype-doc": 63300, + "filetype-docx": 63301, + "filetype-exe": 63302, + "filetype-gif": 63303, + "filetype-heic": 63304, + "filetype-html": 63305, + "filetype-java": 63306, + "filetype-jpg": 63307, + "filetype-js": 63308, + "filetype-jsx": 63309, + "filetype-key": 63310, + "filetype-m4p": 63311, + "filetype-md": 63312, + "filetype-mdx": 63313, + "filetype-mov": 63314, + "filetype-mp3": 63315, + "filetype-mp4": 63316, + "filetype-otf": 63317, + "filetype-pdf": 63318, + "filetype-php": 63319, + "filetype-png": 63320, + "filetype-ppt-1": 63321, + "filetype-ppt": 63322, + "filetype-psd": 63323, + "filetype-py": 63324, + "filetype-raw": 63325, + "filetype-rb": 63326, + "filetype-sass": 63327, + "filetype-scss": 63328, + "filetype-sh": 63329, + "filetype-svg": 63330, + "filetype-tiff": 63331, + "filetype-tsx": 63332, + "filetype-ttf": 63333, + "filetype-txt": 63334, + "filetype-wav": 63335, + "filetype-woff": 63336, + "filetype-xls-1": 63337, + "filetype-xls": 63338, + "filetype-xml": 63339, + "filetype-yml": 63340, + "heart-arrow": 63341, + "heart-pulse-fill": 63342, + "heart-pulse": 63343, + "heartbreak-fill": 63344, + "heartbreak": 63345, + "hearts": 63346, + "hospital-fill": 63347, + "hospital": 63348, + "house-heart-fill": 63349, + "house-heart": 63350, + "incognito": 63351, + "magnet-fill": 63352, + "magnet": 63353, + "person-heart": 63354, + "person-hearts": 63355, + "phone-flip": 63356, + "plugin": 63357, + "postage-fill": 63358, + "postage-heart-fill": 63359, + "postage-heart": 63360, + "postage": 63361, + "postcard-fill": 63362, + "postcard-heart-fill": 63363, + "postcard-heart": 63364, + "postcard": 63365, + "search-heart-fill": 63366, + "search-heart": 63367, + "sliders2-vertical": 63368, + "sliders2": 63369, + "trash3-fill": 63370, + "trash3": 63371, + "valentine": 63372, + "valentine2": 63373, + "wrench-adjustable-circle-fill": 63374, + "wrench-adjustable-circle": 63375, + "wrench-adjustable": 63376, + "filetype-json": 63377, + "filetype-pptx": 63378, + "filetype-xlsx": 63379, + "1-circle-1": 63380, + "1-circle-fill-1": 63381, + "1-circle-fill": 63382, + "1-circle": 63383, + "1-square-fill": 63384, + "1-square": 63385, + "2-circle-1": 63386, + "2-circle-fill-1": 63387, + "2-circle-fill": 63388, + "2-circle": 63389, + "2-square-fill": 63390, + "2-square": 63391, + "3-circle-1": 63392, + "3-circle-fill-1": 63393, + "3-circle-fill": 63394, + "3-circle": 63395, + "3-square-fill": 63396, + "3-square": 63397, + "4-circle-1": 63398, + "4-circle-fill-1": 63399, + "4-circle-fill": 63400, + "4-circle": 63401, + "4-square-fill": 63402, + "4-square": 63403, + "5-circle-1": 63404, + "5-circle-fill-1": 63405, + "5-circle-fill": 63406, + "5-circle": 63407, + "5-square-fill": 63408, + "5-square": 63409, + "6-circle-1": 63410, + "6-circle-fill-1": 63411, + "6-circle-fill": 63412, + "6-circle": 63413, + "6-square-fill": 63414, + "6-square": 63415, + "7-circle-1": 63416, + "7-circle-fill-1": 63417, + "7-circle-fill": 63418, + "7-circle": 63419, + "7-square-fill": 63420, + "7-square": 63421, + "8-circle-1": 63422, + "8-circle-fill-1": 63423, + "8-circle-fill": 63424, + "8-circle": 63425, + "8-square-fill": 63426, + "8-square": 63427, + "9-circle-1": 63428, + "9-circle-fill-1": 63429, + "9-circle-fill": 63430, + "9-circle": 63431, + "9-square-fill": 63432, + "9-square": 63433, + "airplane-engines-fill": 63434, + "airplane-engines": 63435, + "airplane-fill": 63436, + "airplane": 63437, + "alexa": 63438, + "alipay": 63439, + "android": 63440, + "android2": 63441, + "box-fill": 63442, + "box-seam-fill": 63443, + "browser-chrome": 63444, + "browser-edge": 63445, + "browser-firefox": 63446, + "browser-safari": 63447, + "c-circle-1": 63448, + "c-circle-fill-1": 63449, + "c-circle-fill": 63450, + "c-circle": 63451, + "c-square-fill": 63452, + "c-square": 63453, + "capsule-pill": 63454, + "capsule": 63455, + "car-front-fill": 63456, + "car-front": 63457, + "cassette-fill": 63458, + "cassette": 63459, + "cc-circle-1": 63460, + "cc-circle-fill-1": 63461, + "cc-circle-fill": 63462, + "cc-circle": 63463, + "cc-square-fill": 63464, + "cc-square": 63465, + "cup-hot-fill": 63466, + "cup-hot": 63467, + "currency-rupee": 63468, + "dropbox": 63469, + "escape": 63470, + "fast-forward-btn-fill": 63471, + "fast-forward-btn": 63472, + "fast-forward-circle-fill": 63473, + "fast-forward-circle": 63474, + "fast-forward-fill": 63475, + "fast-forward": 63476, + "filetype-sql": 63477, + "fire": 63478, + "google-play": 63479, + "h-circle-1": 63480, + "h-circle-fill-1": 63481, + "h-circle-fill": 63482, + "h-circle": 63483, + "h-square-fill": 63484, + "h-square": 63485, + "indent": 63486, + "lungs-fill": 63487, + "lungs": 63488, + "microsoft-teams": 63489, + "p-circle-1": 63490, + "p-circle-fill-1": 63491, + "p-circle-fill": 63492, + "p-circle": 63493, + "p-square-fill": 63494, + "p-square": 63495, + "pass-fill": 63496, + "pass": 63497, + "prescription": 63498, + "prescription2": 63499, + "r-circle-1": 63500, + "r-circle-fill-1": 63501, + "r-circle-fill": 63502, + "r-circle": 63503, + "r-square-fill": 63504, + "r-square": 63505, + "repeat-1": 63506, + "repeat": 63507, + "rewind-btn-fill": 63508, + "rewind-btn": 63509, + "rewind-circle-fill": 63510, + "rewind-circle": 63511, + "rewind-fill": 63512, + "rewind": 63513, + "train-freight-front-fill": 63514, + "train-freight-front": 63515, + "train-front-fill": 63516, + "train-front": 63517, + "train-lightrail-front-fill": 63518, + "train-lightrail-front": 63519, + "truck-front-fill": 63520, + "truck-front": 63521, + "ubuntu": 63522, + "unindent": 63523, + "unity": 63524, + "universal-access-circle": 63525, + "universal-access": 63526, + "virus": 63527, + "virus2": 63528, + "wechat": 63529, + "yelp": 63530, + "sign-stop-fill": 63531, + "sign-stop-lights-fill": 63532, + "sign-stop-lights": 63533, + "sign-stop": 63534, + "sign-turn-left-fill": 63535, + "sign-turn-left": 63536, + "sign-turn-right-fill": 63537, + "sign-turn-right": 63538, + "sign-turn-slight-left-fill": 63539, + "sign-turn-slight-left": 63540, + "sign-turn-slight-right-fill": 63541, + "sign-turn-slight-right": 63542, + "sign-yield-fill": 63543, + "sign-yield": 63544, + "ev-station-fill": 63545, + "ev-station": 63546, + "fuel-pump-diesel-fill": 63547, + "fuel-pump-diesel": 63548, + "fuel-pump-fill": 63549, + "fuel-pump": 63550 +} \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.min.css b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.min.css new file mode 100644 index 000000000..617cbc561 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.min.css @@ -0,0 +1,8 @@ +/** + * Minified by jsDelivr using clean-css v5.3.0. + * Original file: /npm/bootstrap-icons@1.9.1/font/bootstrap-icons.css + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +@font-face{font-display:block;font-family:bootstrap-icons;src:url("fonts/bootstrap-icons.woff2?8d200481aa7f02a2d63a331fc782cfaf") format("woff2"),url("fonts/bootstrap-icons.woff?8d200481aa7f02a2d63a331fc782cfaf") format("woff")}.bi::before,[class*=" bi-"]::before,[class^=bi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:"\f67f"}.bi-alarm-fill::before{content:"\f101"}.bi-alarm::before{content:"\f102"}.bi-align-bottom::before{content:"\f103"}.bi-align-center::before{content:"\f104"}.bi-align-end::before{content:"\f105"}.bi-align-middle::before{content:"\f106"}.bi-align-start::before{content:"\f107"}.bi-align-top::before{content:"\f108"}.bi-alt::before{content:"\f109"}.bi-app-indicator::before{content:"\f10a"}.bi-app::before{content:"\f10b"}.bi-archive-fill::before{content:"\f10c"}.bi-archive::before{content:"\f10d"}.bi-arrow-90deg-down::before{content:"\f10e"}.bi-arrow-90deg-left::before{content:"\f10f"}.bi-arrow-90deg-right::before{content:"\f110"}.bi-arrow-90deg-up::before{content:"\f111"}.bi-arrow-bar-down::before{content:"\f112"}.bi-arrow-bar-left::before{content:"\f113"}.bi-arrow-bar-right::before{content:"\f114"}.bi-arrow-bar-up::before{content:"\f115"}.bi-arrow-clockwise::before{content:"\f116"}.bi-arrow-counterclockwise::before{content:"\f117"}.bi-arrow-down-circle-fill::before{content:"\f118"}.bi-arrow-down-circle::before{content:"\f119"}.bi-arrow-down-left-circle-fill::before{content:"\f11a"}.bi-arrow-down-left-circle::before{content:"\f11b"}.bi-arrow-down-left-square-fill::before{content:"\f11c"}.bi-arrow-down-left-square::before{content:"\f11d"}.bi-arrow-down-left::before{content:"\f11e"}.bi-arrow-down-right-circle-fill::before{content:"\f11f"}.bi-arrow-down-right-circle::before{content:"\f120"}.bi-arrow-down-right-square-fill::before{content:"\f121"}.bi-arrow-down-right-square::before{content:"\f122"}.bi-arrow-down-right::before{content:"\f123"}.bi-arrow-down-short::before{content:"\f124"}.bi-arrow-down-square-fill::before{content:"\f125"}.bi-arrow-down-square::before{content:"\f126"}.bi-arrow-down-up::before{content:"\f127"}.bi-arrow-down::before{content:"\f128"}.bi-arrow-left-circle-fill::before{content:"\f129"}.bi-arrow-left-circle::before{content:"\f12a"}.bi-arrow-left-right::before{content:"\f12b"}.bi-arrow-left-short::before{content:"\f12c"}.bi-arrow-left-square-fill::before{content:"\f12d"}.bi-arrow-left-square::before{content:"\f12e"}.bi-arrow-left::before{content:"\f12f"}.bi-arrow-repeat::before{content:"\f130"}.bi-arrow-return-left::before{content:"\f131"}.bi-arrow-return-right::before{content:"\f132"}.bi-arrow-right-circle-fill::before{content:"\f133"}.bi-arrow-right-circle::before{content:"\f134"}.bi-arrow-right-short::before{content:"\f135"}.bi-arrow-right-square-fill::before{content:"\f136"}.bi-arrow-right-square::before{content:"\f137"}.bi-arrow-right::before{content:"\f138"}.bi-arrow-up-circle-fill::before{content:"\f139"}.bi-arrow-up-circle::before{content:"\f13a"}.bi-arrow-up-left-circle-fill::before{content:"\f13b"}.bi-arrow-up-left-circle::before{content:"\f13c"}.bi-arrow-up-left-square-fill::before{content:"\f13d"}.bi-arrow-up-left-square::before{content:"\f13e"}.bi-arrow-up-left::before{content:"\f13f"}.bi-arrow-up-right-circle-fill::before{content:"\f140"}.bi-arrow-up-right-circle::before{content:"\f141"}.bi-arrow-up-right-square-fill::before{content:"\f142"}.bi-arrow-up-right-square::before{content:"\f143"}.bi-arrow-up-right::before{content:"\f144"}.bi-arrow-up-short::before{content:"\f145"}.bi-arrow-up-square-fill::before{content:"\f146"}.bi-arrow-up-square::before{content:"\f147"}.bi-arrow-up::before{content:"\f148"}.bi-arrows-angle-contract::before{content:"\f149"}.bi-arrows-angle-expand::before{content:"\f14a"}.bi-arrows-collapse::before{content:"\f14b"}.bi-arrows-expand::before{content:"\f14c"}.bi-arrows-fullscreen::before{content:"\f14d"}.bi-arrows-move::before{content:"\f14e"}.bi-aspect-ratio-fill::before{content:"\f14f"}.bi-aspect-ratio::before{content:"\f150"}.bi-asterisk::before{content:"\f151"}.bi-at::before{content:"\f152"}.bi-award-fill::before{content:"\f153"}.bi-award::before{content:"\f154"}.bi-back::before{content:"\f155"}.bi-backspace-fill::before{content:"\f156"}.bi-backspace-reverse-fill::before{content:"\f157"}.bi-backspace-reverse::before{content:"\f158"}.bi-backspace::before{content:"\f159"}.bi-badge-3d-fill::before{content:"\f15a"}.bi-badge-3d::before{content:"\f15b"}.bi-badge-4k-fill::before{content:"\f15c"}.bi-badge-4k::before{content:"\f15d"}.bi-badge-8k-fill::before{content:"\f15e"}.bi-badge-8k::before{content:"\f15f"}.bi-badge-ad-fill::before{content:"\f160"}.bi-badge-ad::before{content:"\f161"}.bi-badge-ar-fill::before{content:"\f162"}.bi-badge-ar::before{content:"\f163"}.bi-badge-cc-fill::before{content:"\f164"}.bi-badge-cc::before{content:"\f165"}.bi-badge-hd-fill::before{content:"\f166"}.bi-badge-hd::before{content:"\f167"}.bi-badge-tm-fill::before{content:"\f168"}.bi-badge-tm::before{content:"\f169"}.bi-badge-vo-fill::before{content:"\f16a"}.bi-badge-vo::before{content:"\f16b"}.bi-badge-vr-fill::before{content:"\f16c"}.bi-badge-vr::before{content:"\f16d"}.bi-badge-wc-fill::before{content:"\f16e"}.bi-badge-wc::before{content:"\f16f"}.bi-bag-check-fill::before{content:"\f170"}.bi-bag-check::before{content:"\f171"}.bi-bag-dash-fill::before{content:"\f172"}.bi-bag-dash::before{content:"\f173"}.bi-bag-fill::before{content:"\f174"}.bi-bag-plus-fill::before{content:"\f175"}.bi-bag-plus::before{content:"\f176"}.bi-bag-x-fill::before{content:"\f177"}.bi-bag-x::before{content:"\f178"}.bi-bag::before{content:"\f179"}.bi-bar-chart-fill::before{content:"\f17a"}.bi-bar-chart-line-fill::before{content:"\f17b"}.bi-bar-chart-line::before{content:"\f17c"}.bi-bar-chart-steps::before{content:"\f17d"}.bi-bar-chart::before{content:"\f17e"}.bi-basket-fill::before{content:"\f17f"}.bi-basket::before{content:"\f180"}.bi-basket2-fill::before{content:"\f181"}.bi-basket2::before{content:"\f182"}.bi-basket3-fill::before{content:"\f183"}.bi-basket3::before{content:"\f184"}.bi-battery-charging::before{content:"\f185"}.bi-battery-full::before{content:"\f186"}.bi-battery-half::before{content:"\f187"}.bi-battery::before{content:"\f188"}.bi-bell-fill::before{content:"\f189"}.bi-bell::before{content:"\f18a"}.bi-bezier::before{content:"\f18b"}.bi-bezier2::before{content:"\f18c"}.bi-bicycle::before{content:"\f18d"}.bi-binoculars-fill::before{content:"\f18e"}.bi-binoculars::before{content:"\f18f"}.bi-blockquote-left::before{content:"\f190"}.bi-blockquote-right::before{content:"\f191"}.bi-book-fill::before{content:"\f192"}.bi-book-half::before{content:"\f193"}.bi-book::before{content:"\f194"}.bi-bookmark-check-fill::before{content:"\f195"}.bi-bookmark-check::before{content:"\f196"}.bi-bookmark-dash-fill::before{content:"\f197"}.bi-bookmark-dash::before{content:"\f198"}.bi-bookmark-fill::before{content:"\f199"}.bi-bookmark-heart-fill::before{content:"\f19a"}.bi-bookmark-heart::before{content:"\f19b"}.bi-bookmark-plus-fill::before{content:"\f19c"}.bi-bookmark-plus::before{content:"\f19d"}.bi-bookmark-star-fill::before{content:"\f19e"}.bi-bookmark-star::before{content:"\f19f"}.bi-bookmark-x-fill::before{content:"\f1a0"}.bi-bookmark-x::before{content:"\f1a1"}.bi-bookmark::before{content:"\f1a2"}.bi-bookmarks-fill::before{content:"\f1a3"}.bi-bookmarks::before{content:"\f1a4"}.bi-bookshelf::before{content:"\f1a5"}.bi-bootstrap-fill::before{content:"\f1a6"}.bi-bootstrap-reboot::before{content:"\f1a7"}.bi-bootstrap::before{content:"\f1a8"}.bi-border-all::before{content:"\f1a9"}.bi-border-bottom::before{content:"\f1aa"}.bi-border-center::before{content:"\f1ab"}.bi-border-inner::before{content:"\f1ac"}.bi-border-left::before{content:"\f1ad"}.bi-border-middle::before{content:"\f1ae"}.bi-border-outer::before{content:"\f1af"}.bi-border-right::before{content:"\f1b0"}.bi-border-style::before{content:"\f1b1"}.bi-border-top::before{content:"\f1b2"}.bi-border-width::before{content:"\f1b3"}.bi-border::before{content:"\f1b4"}.bi-bounding-box-circles::before{content:"\f1b5"}.bi-bounding-box::before{content:"\f1b6"}.bi-box-arrow-down-left::before{content:"\f1b7"}.bi-box-arrow-down-right::before{content:"\f1b8"}.bi-box-arrow-down::before{content:"\f1b9"}.bi-box-arrow-in-down-left::before{content:"\f1ba"}.bi-box-arrow-in-down-right::before{content:"\f1bb"}.bi-box-arrow-in-down::before{content:"\f1bc"}.bi-box-arrow-in-left::before{content:"\f1bd"}.bi-box-arrow-in-right::before{content:"\f1be"}.bi-box-arrow-in-up-left::before{content:"\f1bf"}.bi-box-arrow-in-up-right::before{content:"\f1c0"}.bi-box-arrow-in-up::before{content:"\f1c1"}.bi-box-arrow-left::before{content:"\f1c2"}.bi-box-arrow-right::before{content:"\f1c3"}.bi-box-arrow-up-left::before{content:"\f1c4"}.bi-box-arrow-up-right::before{content:"\f1c5"}.bi-box-arrow-up::before{content:"\f1c6"}.bi-box-seam::before{content:"\f1c7"}.bi-box::before{content:"\f1c8"}.bi-braces::before{content:"\f1c9"}.bi-bricks::before{content:"\f1ca"}.bi-briefcase-fill::before{content:"\f1cb"}.bi-briefcase::before{content:"\f1cc"}.bi-brightness-alt-high-fill::before{content:"\f1cd"}.bi-brightness-alt-high::before{content:"\f1ce"}.bi-brightness-alt-low-fill::before{content:"\f1cf"}.bi-brightness-alt-low::before{content:"\f1d0"}.bi-brightness-high-fill::before{content:"\f1d1"}.bi-brightness-high::before{content:"\f1d2"}.bi-brightness-low-fill::before{content:"\f1d3"}.bi-brightness-low::before{content:"\f1d4"}.bi-broadcast-pin::before{content:"\f1d5"}.bi-broadcast::before{content:"\f1d6"}.bi-brush-fill::before{content:"\f1d7"}.bi-brush::before{content:"\f1d8"}.bi-bucket-fill::before{content:"\f1d9"}.bi-bucket::before{content:"\f1da"}.bi-bug-fill::before{content:"\f1db"}.bi-bug::before{content:"\f1dc"}.bi-building::before{content:"\f1dd"}.bi-bullseye::before{content:"\f1de"}.bi-calculator-fill::before{content:"\f1df"}.bi-calculator::before{content:"\f1e0"}.bi-calendar-check-fill::before{content:"\f1e1"}.bi-calendar-check::before{content:"\f1e2"}.bi-calendar-date-fill::before{content:"\f1e3"}.bi-calendar-date::before{content:"\f1e4"}.bi-calendar-day-fill::before{content:"\f1e5"}.bi-calendar-day::before{content:"\f1e6"}.bi-calendar-event-fill::before{content:"\f1e7"}.bi-calendar-event::before{content:"\f1e8"}.bi-calendar-fill::before{content:"\f1e9"}.bi-calendar-minus-fill::before{content:"\f1ea"}.bi-calendar-minus::before{content:"\f1eb"}.bi-calendar-month-fill::before{content:"\f1ec"}.bi-calendar-month::before{content:"\f1ed"}.bi-calendar-plus-fill::before{content:"\f1ee"}.bi-calendar-plus::before{content:"\f1ef"}.bi-calendar-range-fill::before{content:"\f1f0"}.bi-calendar-range::before{content:"\f1f1"}.bi-calendar-week-fill::before{content:"\f1f2"}.bi-calendar-week::before{content:"\f1f3"}.bi-calendar-x-fill::before{content:"\f1f4"}.bi-calendar-x::before{content:"\f1f5"}.bi-calendar::before{content:"\f1f6"}.bi-calendar2-check-fill::before{content:"\f1f7"}.bi-calendar2-check::before{content:"\f1f8"}.bi-calendar2-date-fill::before{content:"\f1f9"}.bi-calendar2-date::before{content:"\f1fa"}.bi-calendar2-day-fill::before{content:"\f1fb"}.bi-calendar2-day::before{content:"\f1fc"}.bi-calendar2-event-fill::before{content:"\f1fd"}.bi-calendar2-event::before{content:"\f1fe"}.bi-calendar2-fill::before{content:"\f1ff"}.bi-calendar2-minus-fill::before{content:"\f200"}.bi-calendar2-minus::before{content:"\f201"}.bi-calendar2-month-fill::before{content:"\f202"}.bi-calendar2-month::before{content:"\f203"}.bi-calendar2-plus-fill::before{content:"\f204"}.bi-calendar2-plus::before{content:"\f205"}.bi-calendar2-range-fill::before{content:"\f206"}.bi-calendar2-range::before{content:"\f207"}.bi-calendar2-week-fill::before{content:"\f208"}.bi-calendar2-week::before{content:"\f209"}.bi-calendar2-x-fill::before{content:"\f20a"}.bi-calendar2-x::before{content:"\f20b"}.bi-calendar2::before{content:"\f20c"}.bi-calendar3-event-fill::before{content:"\f20d"}.bi-calendar3-event::before{content:"\f20e"}.bi-calendar3-fill::before{content:"\f20f"}.bi-calendar3-range-fill::before{content:"\f210"}.bi-calendar3-range::before{content:"\f211"}.bi-calendar3-week-fill::before{content:"\f212"}.bi-calendar3-week::before{content:"\f213"}.bi-calendar3::before{content:"\f214"}.bi-calendar4-event::before{content:"\f215"}.bi-calendar4-range::before{content:"\f216"}.bi-calendar4-week::before{content:"\f217"}.bi-calendar4::before{content:"\f218"}.bi-camera-fill::before{content:"\f219"}.bi-camera-reels-fill::before{content:"\f21a"}.bi-camera-reels::before{content:"\f21b"}.bi-camera-video-fill::before{content:"\f21c"}.bi-camera-video-off-fill::before{content:"\f21d"}.bi-camera-video-off::before{content:"\f21e"}.bi-camera-video::before{content:"\f21f"}.bi-camera::before{content:"\f220"}.bi-camera2::before{content:"\f221"}.bi-capslock-fill::before{content:"\f222"}.bi-capslock::before{content:"\f223"}.bi-card-checklist::before{content:"\f224"}.bi-card-heading::before{content:"\f225"}.bi-card-image::before{content:"\f226"}.bi-card-list::before{content:"\f227"}.bi-card-text::before{content:"\f228"}.bi-caret-down-fill::before{content:"\f229"}.bi-caret-down-square-fill::before{content:"\f22a"}.bi-caret-down-square::before{content:"\f22b"}.bi-caret-down::before{content:"\f22c"}.bi-caret-left-fill::before{content:"\f22d"}.bi-caret-left-square-fill::before{content:"\f22e"}.bi-caret-left-square::before{content:"\f22f"}.bi-caret-left::before{content:"\f230"}.bi-caret-right-fill::before{content:"\f231"}.bi-caret-right-square-fill::before{content:"\f232"}.bi-caret-right-square::before{content:"\f233"}.bi-caret-right::before{content:"\f234"}.bi-caret-up-fill::before{content:"\f235"}.bi-caret-up-square-fill::before{content:"\f236"}.bi-caret-up-square::before{content:"\f237"}.bi-caret-up::before{content:"\f238"}.bi-cart-check-fill::before{content:"\f239"}.bi-cart-check::before{content:"\f23a"}.bi-cart-dash-fill::before{content:"\f23b"}.bi-cart-dash::before{content:"\f23c"}.bi-cart-fill::before{content:"\f23d"}.bi-cart-plus-fill::before{content:"\f23e"}.bi-cart-plus::before{content:"\f23f"}.bi-cart-x-fill::before{content:"\f240"}.bi-cart-x::before{content:"\f241"}.bi-cart::before{content:"\f242"}.bi-cart2::before{content:"\f243"}.bi-cart3::before{content:"\f244"}.bi-cart4::before{content:"\f245"}.bi-cash-stack::before{content:"\f246"}.bi-cash::before{content:"\f247"}.bi-cast::before{content:"\f248"}.bi-chat-dots-fill::before{content:"\f249"}.bi-chat-dots::before{content:"\f24a"}.bi-chat-fill::before{content:"\f24b"}.bi-chat-left-dots-fill::before{content:"\f24c"}.bi-chat-left-dots::before{content:"\f24d"}.bi-chat-left-fill::before{content:"\f24e"}.bi-chat-left-quote-fill::before{content:"\f24f"}.bi-chat-left-quote::before{content:"\f250"}.bi-chat-left-text-fill::before{content:"\f251"}.bi-chat-left-text::before{content:"\f252"}.bi-chat-left::before{content:"\f253"}.bi-chat-quote-fill::before{content:"\f254"}.bi-chat-quote::before{content:"\f255"}.bi-chat-right-dots-fill::before{content:"\f256"}.bi-chat-right-dots::before{content:"\f257"}.bi-chat-right-fill::before{content:"\f258"}.bi-chat-right-quote-fill::before{content:"\f259"}.bi-chat-right-quote::before{content:"\f25a"}.bi-chat-right-text-fill::before{content:"\f25b"}.bi-chat-right-text::before{content:"\f25c"}.bi-chat-right::before{content:"\f25d"}.bi-chat-square-dots-fill::before{content:"\f25e"}.bi-chat-square-dots::before{content:"\f25f"}.bi-chat-square-fill::before{content:"\f260"}.bi-chat-square-quote-fill::before{content:"\f261"}.bi-chat-square-quote::before{content:"\f262"}.bi-chat-square-text-fill::before{content:"\f263"}.bi-chat-square-text::before{content:"\f264"}.bi-chat-square::before{content:"\f265"}.bi-chat-text-fill::before{content:"\f266"}.bi-chat-text::before{content:"\f267"}.bi-chat::before{content:"\f268"}.bi-check-all::before{content:"\f269"}.bi-check-circle-fill::before{content:"\f26a"}.bi-check-circle::before{content:"\f26b"}.bi-check-square-fill::before{content:"\f26c"}.bi-check-square::before{content:"\f26d"}.bi-check::before{content:"\f26e"}.bi-check2-all::before{content:"\f26f"}.bi-check2-circle::before{content:"\f270"}.bi-check2-square::before{content:"\f271"}.bi-check2::before{content:"\f272"}.bi-chevron-bar-contract::before{content:"\f273"}.bi-chevron-bar-down::before{content:"\f274"}.bi-chevron-bar-expand::before{content:"\f275"}.bi-chevron-bar-left::before{content:"\f276"}.bi-chevron-bar-right::before{content:"\f277"}.bi-chevron-bar-up::before{content:"\f278"}.bi-chevron-compact-down::before{content:"\f279"}.bi-chevron-compact-left::before{content:"\f27a"}.bi-chevron-compact-right::before{content:"\f27b"}.bi-chevron-compact-up::before{content:"\f27c"}.bi-chevron-contract::before{content:"\f27d"}.bi-chevron-double-down::before{content:"\f27e"}.bi-chevron-double-left::before{content:"\f27f"}.bi-chevron-double-right::before{content:"\f280"}.bi-chevron-double-up::before{content:"\f281"}.bi-chevron-down::before{content:"\f282"}.bi-chevron-expand::before{content:"\f283"}.bi-chevron-left::before{content:"\f284"}.bi-chevron-right::before{content:"\f285"}.bi-chevron-up::before{content:"\f286"}.bi-circle-fill::before{content:"\f287"}.bi-circle-half::before{content:"\f288"}.bi-circle-square::before{content:"\f289"}.bi-circle::before{content:"\f28a"}.bi-clipboard-check::before{content:"\f28b"}.bi-clipboard-data::before{content:"\f28c"}.bi-clipboard-minus::before{content:"\f28d"}.bi-clipboard-plus::before{content:"\f28e"}.bi-clipboard-x::before{content:"\f28f"}.bi-clipboard::before{content:"\f290"}.bi-clock-fill::before{content:"\f291"}.bi-clock-history::before{content:"\f292"}.bi-clock::before{content:"\f293"}.bi-cloud-arrow-down-fill::before{content:"\f294"}.bi-cloud-arrow-down::before{content:"\f295"}.bi-cloud-arrow-up-fill::before{content:"\f296"}.bi-cloud-arrow-up::before{content:"\f297"}.bi-cloud-check-fill::before{content:"\f298"}.bi-cloud-check::before{content:"\f299"}.bi-cloud-download-fill::before{content:"\f29a"}.bi-cloud-download::before{content:"\f29b"}.bi-cloud-drizzle-fill::before{content:"\f29c"}.bi-cloud-drizzle::before{content:"\f29d"}.bi-cloud-fill::before{content:"\f29e"}.bi-cloud-fog-fill::before{content:"\f29f"}.bi-cloud-fog::before{content:"\f2a0"}.bi-cloud-fog2-fill::before{content:"\f2a1"}.bi-cloud-fog2::before{content:"\f2a2"}.bi-cloud-hail-fill::before{content:"\f2a3"}.bi-cloud-hail::before{content:"\f2a4"}.bi-cloud-haze-1::before{content:"\f2a5"}.bi-cloud-haze-fill::before{content:"\f2a6"}.bi-cloud-haze::before{content:"\f2a7"}.bi-cloud-haze2-fill::before{content:"\f2a8"}.bi-cloud-lightning-fill::before{content:"\f2a9"}.bi-cloud-lightning-rain-fill::before{content:"\f2aa"}.bi-cloud-lightning-rain::before{content:"\f2ab"}.bi-cloud-lightning::before{content:"\f2ac"}.bi-cloud-minus-fill::before{content:"\f2ad"}.bi-cloud-minus::before{content:"\f2ae"}.bi-cloud-moon-fill::before{content:"\f2af"}.bi-cloud-moon::before{content:"\f2b0"}.bi-cloud-plus-fill::before{content:"\f2b1"}.bi-cloud-plus::before{content:"\f2b2"}.bi-cloud-rain-fill::before{content:"\f2b3"}.bi-cloud-rain-heavy-fill::before{content:"\f2b4"}.bi-cloud-rain-heavy::before{content:"\f2b5"}.bi-cloud-rain::before{content:"\f2b6"}.bi-cloud-slash-fill::before{content:"\f2b7"}.bi-cloud-slash::before{content:"\f2b8"}.bi-cloud-sleet-fill::before{content:"\f2b9"}.bi-cloud-sleet::before{content:"\f2ba"}.bi-cloud-snow-fill::before{content:"\f2bb"}.bi-cloud-snow::before{content:"\f2bc"}.bi-cloud-sun-fill::before{content:"\f2bd"}.bi-cloud-sun::before{content:"\f2be"}.bi-cloud-upload-fill::before{content:"\f2bf"}.bi-cloud-upload::before{content:"\f2c0"}.bi-cloud::before{content:"\f2c1"}.bi-clouds-fill::before{content:"\f2c2"}.bi-clouds::before{content:"\f2c3"}.bi-cloudy-fill::before{content:"\f2c4"}.bi-cloudy::before{content:"\f2c5"}.bi-code-slash::before{content:"\f2c6"}.bi-code-square::before{content:"\f2c7"}.bi-code::before{content:"\f2c8"}.bi-collection-fill::before{content:"\f2c9"}.bi-collection-play-fill::before{content:"\f2ca"}.bi-collection-play::before{content:"\f2cb"}.bi-collection::before{content:"\f2cc"}.bi-columns-gap::before{content:"\f2cd"}.bi-columns::before{content:"\f2ce"}.bi-command::before{content:"\f2cf"}.bi-compass-fill::before{content:"\f2d0"}.bi-compass::before{content:"\f2d1"}.bi-cone-striped::before{content:"\f2d2"}.bi-cone::before{content:"\f2d3"}.bi-controller::before{content:"\f2d4"}.bi-cpu-fill::before{content:"\f2d5"}.bi-cpu::before{content:"\f2d6"}.bi-credit-card-2-back-fill::before{content:"\f2d7"}.bi-credit-card-2-back::before{content:"\f2d8"}.bi-credit-card-2-front-fill::before{content:"\f2d9"}.bi-credit-card-2-front::before{content:"\f2da"}.bi-credit-card-fill::before{content:"\f2db"}.bi-credit-card::before{content:"\f2dc"}.bi-crop::before{content:"\f2dd"}.bi-cup-fill::before{content:"\f2de"}.bi-cup-straw::before{content:"\f2df"}.bi-cup::before{content:"\f2e0"}.bi-cursor-fill::before{content:"\f2e1"}.bi-cursor-text::before{content:"\f2e2"}.bi-cursor::before{content:"\f2e3"}.bi-dash-circle-dotted::before{content:"\f2e4"}.bi-dash-circle-fill::before{content:"\f2e5"}.bi-dash-circle::before{content:"\f2e6"}.bi-dash-square-dotted::before{content:"\f2e7"}.bi-dash-square-fill::before{content:"\f2e8"}.bi-dash-square::before{content:"\f2e9"}.bi-dash::before{content:"\f2ea"}.bi-diagram-2-fill::before{content:"\f2eb"}.bi-diagram-2::before{content:"\f2ec"}.bi-diagram-3-fill::before{content:"\f2ed"}.bi-diagram-3::before{content:"\f2ee"}.bi-diamond-fill::before{content:"\f2ef"}.bi-diamond-half::before{content:"\f2f0"}.bi-diamond::before{content:"\f2f1"}.bi-dice-1-fill::before{content:"\f2f2"}.bi-dice-1::before{content:"\f2f3"}.bi-dice-2-fill::before{content:"\f2f4"}.bi-dice-2::before{content:"\f2f5"}.bi-dice-3-fill::before{content:"\f2f6"}.bi-dice-3::before{content:"\f2f7"}.bi-dice-4-fill::before{content:"\f2f8"}.bi-dice-4::before{content:"\f2f9"}.bi-dice-5-fill::before{content:"\f2fa"}.bi-dice-5::before{content:"\f2fb"}.bi-dice-6-fill::before{content:"\f2fc"}.bi-dice-6::before{content:"\f2fd"}.bi-disc-fill::before{content:"\f2fe"}.bi-disc::before{content:"\f2ff"}.bi-discord::before{content:"\f300"}.bi-display-fill::before{content:"\f301"}.bi-display::before{content:"\f302"}.bi-distribute-horizontal::before{content:"\f303"}.bi-distribute-vertical::before{content:"\f304"}.bi-door-closed-fill::before{content:"\f305"}.bi-door-closed::before{content:"\f306"}.bi-door-open-fill::before{content:"\f307"}.bi-door-open::before{content:"\f308"}.bi-dot::before{content:"\f309"}.bi-download::before{content:"\f30a"}.bi-droplet-fill::before{content:"\f30b"}.bi-droplet-half::before{content:"\f30c"}.bi-droplet::before{content:"\f30d"}.bi-earbuds::before{content:"\f30e"}.bi-easel-fill::before{content:"\f30f"}.bi-easel::before{content:"\f310"}.bi-egg-fill::before{content:"\f311"}.bi-egg-fried::before{content:"\f312"}.bi-egg::before{content:"\f313"}.bi-eject-fill::before{content:"\f314"}.bi-eject::before{content:"\f315"}.bi-emoji-angry-fill::before{content:"\f316"}.bi-emoji-angry::before{content:"\f317"}.bi-emoji-dizzy-fill::before{content:"\f318"}.bi-emoji-dizzy::before{content:"\f319"}.bi-emoji-expressionless-fill::before{content:"\f31a"}.bi-emoji-expressionless::before{content:"\f31b"}.bi-emoji-frown-fill::before{content:"\f31c"}.bi-emoji-frown::before{content:"\f31d"}.bi-emoji-heart-eyes-fill::before{content:"\f31e"}.bi-emoji-heart-eyes::before{content:"\f31f"}.bi-emoji-laughing-fill::before{content:"\f320"}.bi-emoji-laughing::before{content:"\f321"}.bi-emoji-neutral-fill::before{content:"\f322"}.bi-emoji-neutral::before{content:"\f323"}.bi-emoji-smile-fill::before{content:"\f324"}.bi-emoji-smile-upside-down-fill::before{content:"\f325"}.bi-emoji-smile-upside-down::before{content:"\f326"}.bi-emoji-smile::before{content:"\f327"}.bi-emoji-sunglasses-fill::before{content:"\f328"}.bi-emoji-sunglasses::before{content:"\f329"}.bi-emoji-wink-fill::before{content:"\f32a"}.bi-emoji-wink::before{content:"\f32b"}.bi-envelope-fill::before{content:"\f32c"}.bi-envelope-open-fill::before{content:"\f32d"}.bi-envelope-open::before{content:"\f32e"}.bi-envelope::before{content:"\f32f"}.bi-eraser-fill::before{content:"\f330"}.bi-eraser::before{content:"\f331"}.bi-exclamation-circle-fill::before{content:"\f332"}.bi-exclamation-circle::before{content:"\f333"}.bi-exclamation-diamond-fill::before{content:"\f334"}.bi-exclamation-diamond::before{content:"\f335"}.bi-exclamation-octagon-fill::before{content:"\f336"}.bi-exclamation-octagon::before{content:"\f337"}.bi-exclamation-square-fill::before{content:"\f338"}.bi-exclamation-square::before{content:"\f339"}.bi-exclamation-triangle-fill::before{content:"\f33a"}.bi-exclamation-triangle::before{content:"\f33b"}.bi-exclamation::before{content:"\f33c"}.bi-exclude::before{content:"\f33d"}.bi-eye-fill::before{content:"\f33e"}.bi-eye-slash-fill::before{content:"\f33f"}.bi-eye-slash::before{content:"\f340"}.bi-eye::before{content:"\f341"}.bi-eyedropper::before{content:"\f342"}.bi-eyeglasses::before{content:"\f343"}.bi-facebook::before{content:"\f344"}.bi-file-arrow-down-fill::before{content:"\f345"}.bi-file-arrow-down::before{content:"\f346"}.bi-file-arrow-up-fill::before{content:"\f347"}.bi-file-arrow-up::before{content:"\f348"}.bi-file-bar-graph-fill::before{content:"\f349"}.bi-file-bar-graph::before{content:"\f34a"}.bi-file-binary-fill::before{content:"\f34b"}.bi-file-binary::before{content:"\f34c"}.bi-file-break-fill::before{content:"\f34d"}.bi-file-break::before{content:"\f34e"}.bi-file-check-fill::before{content:"\f34f"}.bi-file-check::before{content:"\f350"}.bi-file-code-fill::before{content:"\f351"}.bi-file-code::before{content:"\f352"}.bi-file-diff-fill::before{content:"\f353"}.bi-file-diff::before{content:"\f354"}.bi-file-earmark-arrow-down-fill::before{content:"\f355"}.bi-file-earmark-arrow-down::before{content:"\f356"}.bi-file-earmark-arrow-up-fill::before{content:"\f357"}.bi-file-earmark-arrow-up::before{content:"\f358"}.bi-file-earmark-bar-graph-fill::before{content:"\f359"}.bi-file-earmark-bar-graph::before{content:"\f35a"}.bi-file-earmark-binary-fill::before{content:"\f35b"}.bi-file-earmark-binary::before{content:"\f35c"}.bi-file-earmark-break-fill::before{content:"\f35d"}.bi-file-earmark-break::before{content:"\f35e"}.bi-file-earmark-check-fill::before{content:"\f35f"}.bi-file-earmark-check::before{content:"\f360"}.bi-file-earmark-code-fill::before{content:"\f361"}.bi-file-earmark-code::before{content:"\f362"}.bi-file-earmark-diff-fill::before{content:"\f363"}.bi-file-earmark-diff::before{content:"\f364"}.bi-file-earmark-easel-fill::before{content:"\f365"}.bi-file-earmark-easel::before{content:"\f366"}.bi-file-earmark-excel-fill::before{content:"\f367"}.bi-file-earmark-excel::before{content:"\f368"}.bi-file-earmark-fill::before{content:"\f369"}.bi-file-earmark-font-fill::before{content:"\f36a"}.bi-file-earmark-font::before{content:"\f36b"}.bi-file-earmark-image-fill::before{content:"\f36c"}.bi-file-earmark-image::before{content:"\f36d"}.bi-file-earmark-lock-fill::before{content:"\f36e"}.bi-file-earmark-lock::before{content:"\f36f"}.bi-file-earmark-lock2-fill::before{content:"\f370"}.bi-file-earmark-lock2::before{content:"\f371"}.bi-file-earmark-medical-fill::before{content:"\f372"}.bi-file-earmark-medical::before{content:"\f373"}.bi-file-earmark-minus-fill::before{content:"\f374"}.bi-file-earmark-minus::before{content:"\f375"}.bi-file-earmark-music-fill::before{content:"\f376"}.bi-file-earmark-music::before{content:"\f377"}.bi-file-earmark-person-fill::before{content:"\f378"}.bi-file-earmark-person::before{content:"\f379"}.bi-file-earmark-play-fill::before{content:"\f37a"}.bi-file-earmark-play::before{content:"\f37b"}.bi-file-earmark-plus-fill::before{content:"\f37c"}.bi-file-earmark-plus::before{content:"\f37d"}.bi-file-earmark-post-fill::before{content:"\f37e"}.bi-file-earmark-post::before{content:"\f37f"}.bi-file-earmark-ppt-fill::before{content:"\f380"}.bi-file-earmark-ppt::before{content:"\f381"}.bi-file-earmark-richtext-fill::before{content:"\f382"}.bi-file-earmark-richtext::before{content:"\f383"}.bi-file-earmark-ruled-fill::before{content:"\f384"}.bi-file-earmark-ruled::before{content:"\f385"}.bi-file-earmark-slides-fill::before{content:"\f386"}.bi-file-earmark-slides::before{content:"\f387"}.bi-file-earmark-spreadsheet-fill::before{content:"\f388"}.bi-file-earmark-spreadsheet::before{content:"\f389"}.bi-file-earmark-text-fill::before{content:"\f38a"}.bi-file-earmark-text::before{content:"\f38b"}.bi-file-earmark-word-fill::before{content:"\f38c"}.bi-file-earmark-word::before{content:"\f38d"}.bi-file-earmark-x-fill::before{content:"\f38e"}.bi-file-earmark-x::before{content:"\f38f"}.bi-file-earmark-zip-fill::before{content:"\f390"}.bi-file-earmark-zip::before{content:"\f391"}.bi-file-earmark::before{content:"\f392"}.bi-file-easel-fill::before{content:"\f393"}.bi-file-easel::before{content:"\f394"}.bi-file-excel-fill::before{content:"\f395"}.bi-file-excel::before{content:"\f396"}.bi-file-fill::before{content:"\f397"}.bi-file-font-fill::before{content:"\f398"}.bi-file-font::before{content:"\f399"}.bi-file-image-fill::before{content:"\f39a"}.bi-file-image::before{content:"\f39b"}.bi-file-lock-fill::before{content:"\f39c"}.bi-file-lock::before{content:"\f39d"}.bi-file-lock2-fill::before{content:"\f39e"}.bi-file-lock2::before{content:"\f39f"}.bi-file-medical-fill::before{content:"\f3a0"}.bi-file-medical::before{content:"\f3a1"}.bi-file-minus-fill::before{content:"\f3a2"}.bi-file-minus::before{content:"\f3a3"}.bi-file-music-fill::before{content:"\f3a4"}.bi-file-music::before{content:"\f3a5"}.bi-file-person-fill::before{content:"\f3a6"}.bi-file-person::before{content:"\f3a7"}.bi-file-play-fill::before{content:"\f3a8"}.bi-file-play::before{content:"\f3a9"}.bi-file-plus-fill::before{content:"\f3aa"}.bi-file-plus::before{content:"\f3ab"}.bi-file-post-fill::before{content:"\f3ac"}.bi-file-post::before{content:"\f3ad"}.bi-file-ppt-fill::before{content:"\f3ae"}.bi-file-ppt::before{content:"\f3af"}.bi-file-richtext-fill::before{content:"\f3b0"}.bi-file-richtext::before{content:"\f3b1"}.bi-file-ruled-fill::before{content:"\f3b2"}.bi-file-ruled::before{content:"\f3b3"}.bi-file-slides-fill::before{content:"\f3b4"}.bi-file-slides::before{content:"\f3b5"}.bi-file-spreadsheet-fill::before{content:"\f3b6"}.bi-file-spreadsheet::before{content:"\f3b7"}.bi-file-text-fill::before{content:"\f3b8"}.bi-file-text::before{content:"\f3b9"}.bi-file-word-fill::before{content:"\f3ba"}.bi-file-word::before{content:"\f3bb"}.bi-file-x-fill::before{content:"\f3bc"}.bi-file-x::before{content:"\f3bd"}.bi-file-zip-fill::before{content:"\f3be"}.bi-file-zip::before{content:"\f3bf"}.bi-file::before{content:"\f3c0"}.bi-files-alt::before{content:"\f3c1"}.bi-files::before{content:"\f3c2"}.bi-film::before{content:"\f3c3"}.bi-filter-circle-fill::before{content:"\f3c4"}.bi-filter-circle::before{content:"\f3c5"}.bi-filter-left::before{content:"\f3c6"}.bi-filter-right::before{content:"\f3c7"}.bi-filter-square-fill::before{content:"\f3c8"}.bi-filter-square::before{content:"\f3c9"}.bi-filter::before{content:"\f3ca"}.bi-flag-fill::before{content:"\f3cb"}.bi-flag::before{content:"\f3cc"}.bi-flower1::before{content:"\f3cd"}.bi-flower2::before{content:"\f3ce"}.bi-flower3::before{content:"\f3cf"}.bi-folder-check::before{content:"\f3d0"}.bi-folder-fill::before{content:"\f3d1"}.bi-folder-minus::before{content:"\f3d2"}.bi-folder-plus::before{content:"\f3d3"}.bi-folder-symlink-fill::before{content:"\f3d4"}.bi-folder-symlink::before{content:"\f3d5"}.bi-folder-x::before{content:"\f3d6"}.bi-folder::before{content:"\f3d7"}.bi-folder2-open::before{content:"\f3d8"}.bi-folder2::before{content:"\f3d9"}.bi-fonts::before{content:"\f3da"}.bi-forward-fill::before{content:"\f3db"}.bi-forward::before{content:"\f3dc"}.bi-front::before{content:"\f3dd"}.bi-fullscreen-exit::before{content:"\f3de"}.bi-fullscreen::before{content:"\f3df"}.bi-funnel-fill::before{content:"\f3e0"}.bi-funnel::before{content:"\f3e1"}.bi-gear-fill::before{content:"\f3e2"}.bi-gear-wide-connected::before{content:"\f3e3"}.bi-gear-wide::before{content:"\f3e4"}.bi-gear::before{content:"\f3e5"}.bi-gem::before{content:"\f3e6"}.bi-geo-alt-fill::before{content:"\f3e7"}.bi-geo-alt::before{content:"\f3e8"}.bi-geo-fill::before{content:"\f3e9"}.bi-geo::before{content:"\f3ea"}.bi-gift-fill::before{content:"\f3eb"}.bi-gift::before{content:"\f3ec"}.bi-github::before{content:"\f3ed"}.bi-globe::before{content:"\f3ee"}.bi-globe2::before{content:"\f3ef"}.bi-google::before{content:"\f3f0"}.bi-graph-down::before{content:"\f3f1"}.bi-graph-up::before{content:"\f3f2"}.bi-grid-1x2-fill::before{content:"\f3f3"}.bi-grid-1x2::before{content:"\f3f4"}.bi-grid-3x2-gap-fill::before{content:"\f3f5"}.bi-grid-3x2-gap::before{content:"\f3f6"}.bi-grid-3x2::before{content:"\f3f7"}.bi-grid-3x3-gap-fill::before{content:"\f3f8"}.bi-grid-3x3-gap::before{content:"\f3f9"}.bi-grid-3x3::before{content:"\f3fa"}.bi-grid-fill::before{content:"\f3fb"}.bi-grid::before{content:"\f3fc"}.bi-grip-horizontal::before{content:"\f3fd"}.bi-grip-vertical::before{content:"\f3fe"}.bi-hammer::before{content:"\f3ff"}.bi-hand-index-fill::before{content:"\f400"}.bi-hand-index-thumb-fill::before{content:"\f401"}.bi-hand-index-thumb::before{content:"\f402"}.bi-hand-index::before{content:"\f403"}.bi-hand-thumbs-down-fill::before{content:"\f404"}.bi-hand-thumbs-down::before{content:"\f405"}.bi-hand-thumbs-up-fill::before{content:"\f406"}.bi-hand-thumbs-up::before{content:"\f407"}.bi-handbag-fill::before{content:"\f408"}.bi-handbag::before{content:"\f409"}.bi-hash::before{content:"\f40a"}.bi-hdd-fill::before{content:"\f40b"}.bi-hdd-network-fill::before{content:"\f40c"}.bi-hdd-network::before{content:"\f40d"}.bi-hdd-rack-fill::before{content:"\f40e"}.bi-hdd-rack::before{content:"\f40f"}.bi-hdd-stack-fill::before{content:"\f410"}.bi-hdd-stack::before{content:"\f411"}.bi-hdd::before{content:"\f412"}.bi-headphones::before{content:"\f413"}.bi-headset::before{content:"\f414"}.bi-heart-fill::before{content:"\f415"}.bi-heart-half::before{content:"\f416"}.bi-heart::before{content:"\f417"}.bi-heptagon-fill::before{content:"\f418"}.bi-heptagon-half::before{content:"\f419"}.bi-heptagon::before{content:"\f41a"}.bi-hexagon-fill::before{content:"\f41b"}.bi-hexagon-half::before{content:"\f41c"}.bi-hexagon::before{content:"\f41d"}.bi-hourglass-bottom::before{content:"\f41e"}.bi-hourglass-split::before{content:"\f41f"}.bi-hourglass-top::before{content:"\f420"}.bi-hourglass::before{content:"\f421"}.bi-house-door-fill::before{content:"\f422"}.bi-house-door::before{content:"\f423"}.bi-house-fill::before{content:"\f424"}.bi-house::before{content:"\f425"}.bi-hr::before{content:"\f426"}.bi-hurricane::before{content:"\f427"}.bi-image-alt::before{content:"\f428"}.bi-image-fill::before{content:"\f429"}.bi-image::before{content:"\f42a"}.bi-images::before{content:"\f42b"}.bi-inbox-fill::before{content:"\f42c"}.bi-inbox::before{content:"\f42d"}.bi-inboxes-fill::before{content:"\f42e"}.bi-inboxes::before{content:"\f42f"}.bi-info-circle-fill::before{content:"\f430"}.bi-info-circle::before{content:"\f431"}.bi-info-square-fill::before{content:"\f432"}.bi-info-square::before{content:"\f433"}.bi-info::before{content:"\f434"}.bi-input-cursor-text::before{content:"\f435"}.bi-input-cursor::before{content:"\f436"}.bi-instagram::before{content:"\f437"}.bi-intersect::before{content:"\f438"}.bi-journal-album::before{content:"\f439"}.bi-journal-arrow-down::before{content:"\f43a"}.bi-journal-arrow-up::before{content:"\f43b"}.bi-journal-bookmark-fill::before{content:"\f43c"}.bi-journal-bookmark::before{content:"\f43d"}.bi-journal-check::before{content:"\f43e"}.bi-journal-code::before{content:"\f43f"}.bi-journal-medical::before{content:"\f440"}.bi-journal-minus::before{content:"\f441"}.bi-journal-plus::before{content:"\f442"}.bi-journal-richtext::before{content:"\f443"}.bi-journal-text::before{content:"\f444"}.bi-journal-x::before{content:"\f445"}.bi-journal::before{content:"\f446"}.bi-journals::before{content:"\f447"}.bi-joystick::before{content:"\f448"}.bi-justify-left::before{content:"\f449"}.bi-justify-right::before{content:"\f44a"}.bi-justify::before{content:"\f44b"}.bi-kanban-fill::before{content:"\f44c"}.bi-kanban::before{content:"\f44d"}.bi-key-fill::before{content:"\f44e"}.bi-key::before{content:"\f44f"}.bi-keyboard-fill::before{content:"\f450"}.bi-keyboard::before{content:"\f451"}.bi-ladder::before{content:"\f452"}.bi-lamp-fill::before{content:"\f453"}.bi-lamp::before{content:"\f454"}.bi-laptop-fill::before{content:"\f455"}.bi-laptop::before{content:"\f456"}.bi-layer-backward::before{content:"\f457"}.bi-layer-forward::before{content:"\f458"}.bi-layers-fill::before{content:"\f459"}.bi-layers-half::before{content:"\f45a"}.bi-layers::before{content:"\f45b"}.bi-layout-sidebar-inset-reverse::before{content:"\f45c"}.bi-layout-sidebar-inset::before{content:"\f45d"}.bi-layout-sidebar-reverse::before{content:"\f45e"}.bi-layout-sidebar::before{content:"\f45f"}.bi-layout-split::before{content:"\f460"}.bi-layout-text-sidebar-reverse::before{content:"\f461"}.bi-layout-text-sidebar::before{content:"\f462"}.bi-layout-text-window-reverse::before{content:"\f463"}.bi-layout-text-window::before{content:"\f464"}.bi-layout-three-columns::before{content:"\f465"}.bi-layout-wtf::before{content:"\f466"}.bi-life-preserver::before{content:"\f467"}.bi-lightbulb-fill::before{content:"\f468"}.bi-lightbulb-off-fill::before{content:"\f469"}.bi-lightbulb-off::before{content:"\f46a"}.bi-lightbulb::before{content:"\f46b"}.bi-lightning-charge-fill::before{content:"\f46c"}.bi-lightning-charge::before{content:"\f46d"}.bi-lightning-fill::before{content:"\f46e"}.bi-lightning::before{content:"\f46f"}.bi-link-45deg::before{content:"\f470"}.bi-link::before{content:"\f471"}.bi-linkedin::before{content:"\f472"}.bi-list-check::before{content:"\f473"}.bi-list-nested::before{content:"\f474"}.bi-list-ol::before{content:"\f475"}.bi-list-stars::before{content:"\f476"}.bi-list-task::before{content:"\f477"}.bi-list-ul::before{content:"\f478"}.bi-list::before{content:"\f479"}.bi-lock-fill::before{content:"\f47a"}.bi-lock::before{content:"\f47b"}.bi-mailbox::before{content:"\f47c"}.bi-mailbox2::before{content:"\f47d"}.bi-map-fill::before{content:"\f47e"}.bi-map::before{content:"\f47f"}.bi-markdown-fill::before{content:"\f480"}.bi-markdown::before{content:"\f481"}.bi-mask::before{content:"\f482"}.bi-megaphone-fill::before{content:"\f483"}.bi-megaphone::before{content:"\f484"}.bi-menu-app-fill::before{content:"\f485"}.bi-menu-app::before{content:"\f486"}.bi-menu-button-fill::before{content:"\f487"}.bi-menu-button-wide-fill::before{content:"\f488"}.bi-menu-button-wide::before{content:"\f489"}.bi-menu-button::before{content:"\f48a"}.bi-menu-down::before{content:"\f48b"}.bi-menu-up::before{content:"\f48c"}.bi-mic-fill::before{content:"\f48d"}.bi-mic-mute-fill::before{content:"\f48e"}.bi-mic-mute::before{content:"\f48f"}.bi-mic::before{content:"\f490"}.bi-minecart-loaded::before{content:"\f491"}.bi-minecart::before{content:"\f492"}.bi-moisture::before{content:"\f493"}.bi-moon-fill::before{content:"\f494"}.bi-moon-stars-fill::before{content:"\f495"}.bi-moon-stars::before{content:"\f496"}.bi-moon::before{content:"\f497"}.bi-mouse-fill::before{content:"\f498"}.bi-mouse::before{content:"\f499"}.bi-mouse2-fill::before{content:"\f49a"}.bi-mouse2::before{content:"\f49b"}.bi-mouse3-fill::before{content:"\f49c"}.bi-mouse3::before{content:"\f49d"}.bi-music-note-beamed::before{content:"\f49e"}.bi-music-note-list::before{content:"\f49f"}.bi-music-note::before{content:"\f4a0"}.bi-music-player-fill::before{content:"\f4a1"}.bi-music-player::before{content:"\f4a2"}.bi-newspaper::before{content:"\f4a3"}.bi-node-minus-fill::before{content:"\f4a4"}.bi-node-minus::before{content:"\f4a5"}.bi-node-plus-fill::before{content:"\f4a6"}.bi-node-plus::before{content:"\f4a7"}.bi-nut-fill::before{content:"\f4a8"}.bi-nut::before{content:"\f4a9"}.bi-octagon-fill::before{content:"\f4aa"}.bi-octagon-half::before{content:"\f4ab"}.bi-octagon::before{content:"\f4ac"}.bi-option::before{content:"\f4ad"}.bi-outlet::before{content:"\f4ae"}.bi-paint-bucket::before{content:"\f4af"}.bi-palette-fill::before{content:"\f4b0"}.bi-palette::before{content:"\f4b1"}.bi-palette2::before{content:"\f4b2"}.bi-paperclip::before{content:"\f4b3"}.bi-paragraph::before{content:"\f4b4"}.bi-patch-check-fill::before{content:"\f4b5"}.bi-patch-check::before{content:"\f4b6"}.bi-patch-exclamation-fill::before{content:"\f4b7"}.bi-patch-exclamation::before{content:"\f4b8"}.bi-patch-minus-fill::before{content:"\f4b9"}.bi-patch-minus::before{content:"\f4ba"}.bi-patch-plus-fill::before{content:"\f4bb"}.bi-patch-plus::before{content:"\f4bc"}.bi-patch-question-fill::before{content:"\f4bd"}.bi-patch-question::before{content:"\f4be"}.bi-pause-btn-fill::before{content:"\f4bf"}.bi-pause-btn::before{content:"\f4c0"}.bi-pause-circle-fill::before{content:"\f4c1"}.bi-pause-circle::before{content:"\f4c2"}.bi-pause-fill::before{content:"\f4c3"}.bi-pause::before{content:"\f4c4"}.bi-peace-fill::before{content:"\f4c5"}.bi-peace::before{content:"\f4c6"}.bi-pen-fill::before{content:"\f4c7"}.bi-pen::before{content:"\f4c8"}.bi-pencil-fill::before{content:"\f4c9"}.bi-pencil-square::before{content:"\f4ca"}.bi-pencil::before{content:"\f4cb"}.bi-pentagon-fill::before{content:"\f4cc"}.bi-pentagon-half::before{content:"\f4cd"}.bi-pentagon::before{content:"\f4ce"}.bi-people-fill::before{content:"\f4cf"}.bi-people::before{content:"\f4d0"}.bi-percent::before{content:"\f4d1"}.bi-person-badge-fill::before{content:"\f4d2"}.bi-person-badge::before{content:"\f4d3"}.bi-person-bounding-box::before{content:"\f4d4"}.bi-person-check-fill::before{content:"\f4d5"}.bi-person-check::before{content:"\f4d6"}.bi-person-circle::before{content:"\f4d7"}.bi-person-dash-fill::before{content:"\f4d8"}.bi-person-dash::before{content:"\f4d9"}.bi-person-fill::before{content:"\f4da"}.bi-person-lines-fill::before{content:"\f4db"}.bi-person-plus-fill::before{content:"\f4dc"}.bi-person-plus::before{content:"\f4dd"}.bi-person-square::before{content:"\f4de"}.bi-person-x-fill::before{content:"\f4df"}.bi-person-x::before{content:"\f4e0"}.bi-person::before{content:"\f4e1"}.bi-phone-fill::before{content:"\f4e2"}.bi-phone-landscape-fill::before{content:"\f4e3"}.bi-phone-landscape::before{content:"\f4e4"}.bi-phone-vibrate-fill::before{content:"\f4e5"}.bi-phone-vibrate::before{content:"\f4e6"}.bi-phone::before{content:"\f4e7"}.bi-pie-chart-fill::before{content:"\f4e8"}.bi-pie-chart::before{content:"\f4e9"}.bi-pin-angle-fill::before{content:"\f4ea"}.bi-pin-angle::before{content:"\f4eb"}.bi-pin-fill::before{content:"\f4ec"}.bi-pin::before{content:"\f4ed"}.bi-pip-fill::before{content:"\f4ee"}.bi-pip::before{content:"\f4ef"}.bi-play-btn-fill::before{content:"\f4f0"}.bi-play-btn::before{content:"\f4f1"}.bi-play-circle-fill::before{content:"\f4f2"}.bi-play-circle::before{content:"\f4f3"}.bi-play-fill::before{content:"\f4f4"}.bi-play::before{content:"\f4f5"}.bi-plug-fill::before{content:"\f4f6"}.bi-plug::before{content:"\f4f7"}.bi-plus-circle-dotted::before{content:"\f4f8"}.bi-plus-circle-fill::before{content:"\f4f9"}.bi-plus-circle::before{content:"\f4fa"}.bi-plus-square-dotted::before{content:"\f4fb"}.bi-plus-square-fill::before{content:"\f4fc"}.bi-plus-square::before{content:"\f4fd"}.bi-plus::before{content:"\f4fe"}.bi-power::before{content:"\f4ff"}.bi-printer-fill::before{content:"\f500"}.bi-printer::before{content:"\f501"}.bi-puzzle-fill::before{content:"\f502"}.bi-puzzle::before{content:"\f503"}.bi-question-circle-fill::before{content:"\f504"}.bi-question-circle::before{content:"\f505"}.bi-question-diamond-fill::before{content:"\f506"}.bi-question-diamond::before{content:"\f507"}.bi-question-octagon-fill::before{content:"\f508"}.bi-question-octagon::before{content:"\f509"}.bi-question-square-fill::before{content:"\f50a"}.bi-question-square::before{content:"\f50b"}.bi-question::before{content:"\f50c"}.bi-rainbow::before{content:"\f50d"}.bi-receipt-cutoff::before{content:"\f50e"}.bi-receipt::before{content:"\f50f"}.bi-reception-0::before{content:"\f510"}.bi-reception-1::before{content:"\f511"}.bi-reception-2::before{content:"\f512"}.bi-reception-3::before{content:"\f513"}.bi-reception-4::before{content:"\f514"}.bi-record-btn-fill::before{content:"\f515"}.bi-record-btn::before{content:"\f516"}.bi-record-circle-fill::before{content:"\f517"}.bi-record-circle::before{content:"\f518"}.bi-record-fill::before{content:"\f519"}.bi-record::before{content:"\f51a"}.bi-record2-fill::before{content:"\f51b"}.bi-record2::before{content:"\f51c"}.bi-reply-all-fill::before{content:"\f51d"}.bi-reply-all::before{content:"\f51e"}.bi-reply-fill::before{content:"\f51f"}.bi-reply::before{content:"\f520"}.bi-rss-fill::before{content:"\f521"}.bi-rss::before{content:"\f522"}.bi-rulers::before{content:"\f523"}.bi-save-fill::before{content:"\f524"}.bi-save::before{content:"\f525"}.bi-save2-fill::before{content:"\f526"}.bi-save2::before{content:"\f527"}.bi-scissors::before{content:"\f528"}.bi-screwdriver::before{content:"\f529"}.bi-search::before{content:"\f52a"}.bi-segmented-nav::before{content:"\f52b"}.bi-server::before{content:"\f52c"}.bi-share-fill::before{content:"\f52d"}.bi-share::before{content:"\f52e"}.bi-shield-check::before{content:"\f52f"}.bi-shield-exclamation::before{content:"\f530"}.bi-shield-fill-check::before{content:"\f531"}.bi-shield-fill-exclamation::before{content:"\f532"}.bi-shield-fill-minus::before{content:"\f533"}.bi-shield-fill-plus::before{content:"\f534"}.bi-shield-fill-x::before{content:"\f535"}.bi-shield-fill::before{content:"\f536"}.bi-shield-lock-fill::before{content:"\f537"}.bi-shield-lock::before{content:"\f538"}.bi-shield-minus::before{content:"\f539"}.bi-shield-plus::before{content:"\f53a"}.bi-shield-shaded::before{content:"\f53b"}.bi-shield-slash-fill::before{content:"\f53c"}.bi-shield-slash::before{content:"\f53d"}.bi-shield-x::before{content:"\f53e"}.bi-shield::before{content:"\f53f"}.bi-shift-fill::before{content:"\f540"}.bi-shift::before{content:"\f541"}.bi-shop-window::before{content:"\f542"}.bi-shop::before{content:"\f543"}.bi-shuffle::before{content:"\f544"}.bi-signpost-2-fill::before{content:"\f545"}.bi-signpost-2::before{content:"\f546"}.bi-signpost-fill::before{content:"\f547"}.bi-signpost-split-fill::before{content:"\f548"}.bi-signpost-split::before{content:"\f549"}.bi-signpost::before{content:"\f54a"}.bi-sim-fill::before{content:"\f54b"}.bi-sim::before{content:"\f54c"}.bi-skip-backward-btn-fill::before{content:"\f54d"}.bi-skip-backward-btn::before{content:"\f54e"}.bi-skip-backward-circle-fill::before{content:"\f54f"}.bi-skip-backward-circle::before{content:"\f550"}.bi-skip-backward-fill::before{content:"\f551"}.bi-skip-backward::before{content:"\f552"}.bi-skip-end-btn-fill::before{content:"\f553"}.bi-skip-end-btn::before{content:"\f554"}.bi-skip-end-circle-fill::before{content:"\f555"}.bi-skip-end-circle::before{content:"\f556"}.bi-skip-end-fill::before{content:"\f557"}.bi-skip-end::before{content:"\f558"}.bi-skip-forward-btn-fill::before{content:"\f559"}.bi-skip-forward-btn::before{content:"\f55a"}.bi-skip-forward-circle-fill::before{content:"\f55b"}.bi-skip-forward-circle::before{content:"\f55c"}.bi-skip-forward-fill::before{content:"\f55d"}.bi-skip-forward::before{content:"\f55e"}.bi-skip-start-btn-fill::before{content:"\f55f"}.bi-skip-start-btn::before{content:"\f560"}.bi-skip-start-circle-fill::before{content:"\f561"}.bi-skip-start-circle::before{content:"\f562"}.bi-skip-start-fill::before{content:"\f563"}.bi-skip-start::before{content:"\f564"}.bi-slack::before{content:"\f565"}.bi-slash-circle-fill::before{content:"\f566"}.bi-slash-circle::before{content:"\f567"}.bi-slash-square-fill::before{content:"\f568"}.bi-slash-square::before{content:"\f569"}.bi-slash::before{content:"\f56a"}.bi-sliders::before{content:"\f56b"}.bi-smartwatch::before{content:"\f56c"}.bi-snow::before{content:"\f56d"}.bi-snow2::before{content:"\f56e"}.bi-snow3::before{content:"\f56f"}.bi-sort-alpha-down-alt::before{content:"\f570"}.bi-sort-alpha-down::before{content:"\f571"}.bi-sort-alpha-up-alt::before{content:"\f572"}.bi-sort-alpha-up::before{content:"\f573"}.bi-sort-down-alt::before{content:"\f574"}.bi-sort-down::before{content:"\f575"}.bi-sort-numeric-down-alt::before{content:"\f576"}.bi-sort-numeric-down::before{content:"\f577"}.bi-sort-numeric-up-alt::before{content:"\f578"}.bi-sort-numeric-up::before{content:"\f579"}.bi-sort-up-alt::before{content:"\f57a"}.bi-sort-up::before{content:"\f57b"}.bi-soundwave::before{content:"\f57c"}.bi-speaker-fill::before{content:"\f57d"}.bi-speaker::before{content:"\f57e"}.bi-speedometer::before{content:"\f57f"}.bi-speedometer2::before{content:"\f580"}.bi-spellcheck::before{content:"\f581"}.bi-square-fill::before{content:"\f582"}.bi-square-half::before{content:"\f583"}.bi-square::before{content:"\f584"}.bi-stack::before{content:"\f585"}.bi-star-fill::before{content:"\f586"}.bi-star-half::before{content:"\f587"}.bi-star::before{content:"\f588"}.bi-stars::before{content:"\f589"}.bi-stickies-fill::before{content:"\f58a"}.bi-stickies::before{content:"\f58b"}.bi-sticky-fill::before{content:"\f58c"}.bi-sticky::before{content:"\f58d"}.bi-stop-btn-fill::before{content:"\f58e"}.bi-stop-btn::before{content:"\f58f"}.bi-stop-circle-fill::before{content:"\f590"}.bi-stop-circle::before{content:"\f591"}.bi-stop-fill::before{content:"\f592"}.bi-stop::before{content:"\f593"}.bi-stoplights-fill::before{content:"\f594"}.bi-stoplights::before{content:"\f595"}.bi-stopwatch-fill::before{content:"\f596"}.bi-stopwatch::before{content:"\f597"}.bi-subtract::before{content:"\f598"}.bi-suit-club-fill::before{content:"\f599"}.bi-suit-club::before{content:"\f59a"}.bi-suit-diamond-fill::before{content:"\f59b"}.bi-suit-diamond::before{content:"\f59c"}.bi-suit-heart-fill::before{content:"\f59d"}.bi-suit-heart::before{content:"\f59e"}.bi-suit-spade-fill::before{content:"\f59f"}.bi-suit-spade::before{content:"\f5a0"}.bi-sun-fill::before{content:"\f5a1"}.bi-sun::before{content:"\f5a2"}.bi-sunglasses::before{content:"\f5a3"}.bi-sunrise-fill::before{content:"\f5a4"}.bi-sunrise::before{content:"\f5a5"}.bi-sunset-fill::before{content:"\f5a6"}.bi-sunset::before{content:"\f5a7"}.bi-symmetry-horizontal::before{content:"\f5a8"}.bi-symmetry-vertical::before{content:"\f5a9"}.bi-table::before{content:"\f5aa"}.bi-tablet-fill::before{content:"\f5ab"}.bi-tablet-landscape-fill::before{content:"\f5ac"}.bi-tablet-landscape::before{content:"\f5ad"}.bi-tablet::before{content:"\f5ae"}.bi-tag-fill::before{content:"\f5af"}.bi-tag::before{content:"\f5b0"}.bi-tags-fill::before{content:"\f5b1"}.bi-tags::before{content:"\f5b2"}.bi-telegram::before{content:"\f5b3"}.bi-telephone-fill::before{content:"\f5b4"}.bi-telephone-forward-fill::before{content:"\f5b5"}.bi-telephone-forward::before{content:"\f5b6"}.bi-telephone-inbound-fill::before{content:"\f5b7"}.bi-telephone-inbound::before{content:"\f5b8"}.bi-telephone-minus-fill::before{content:"\f5b9"}.bi-telephone-minus::before{content:"\f5ba"}.bi-telephone-outbound-fill::before{content:"\f5bb"}.bi-telephone-outbound::before{content:"\f5bc"}.bi-telephone-plus-fill::before{content:"\f5bd"}.bi-telephone-plus::before{content:"\f5be"}.bi-telephone-x-fill::before{content:"\f5bf"}.bi-telephone-x::before{content:"\f5c0"}.bi-telephone::before{content:"\f5c1"}.bi-terminal-fill::before{content:"\f5c2"}.bi-terminal::before{content:"\f5c3"}.bi-text-center::before{content:"\f5c4"}.bi-text-indent-left::before{content:"\f5c5"}.bi-text-indent-right::before{content:"\f5c6"}.bi-text-left::before{content:"\f5c7"}.bi-text-paragraph::before{content:"\f5c8"}.bi-text-right::before{content:"\f5c9"}.bi-textarea-resize::before{content:"\f5ca"}.bi-textarea-t::before{content:"\f5cb"}.bi-textarea::before{content:"\f5cc"}.bi-thermometer-half::before{content:"\f5cd"}.bi-thermometer-high::before{content:"\f5ce"}.bi-thermometer-low::before{content:"\f5cf"}.bi-thermometer-snow::before{content:"\f5d0"}.bi-thermometer-sun::before{content:"\f5d1"}.bi-thermometer::before{content:"\f5d2"}.bi-three-dots-vertical::before{content:"\f5d3"}.bi-three-dots::before{content:"\f5d4"}.bi-toggle-off::before{content:"\f5d5"}.bi-toggle-on::before{content:"\f5d6"}.bi-toggle2-off::before{content:"\f5d7"}.bi-toggle2-on::before{content:"\f5d8"}.bi-toggles::before{content:"\f5d9"}.bi-toggles2::before{content:"\f5da"}.bi-tools::before{content:"\f5db"}.bi-tornado::before{content:"\f5dc"}.bi-trash-fill::before{content:"\f5dd"}.bi-trash::before{content:"\f5de"}.bi-trash2-fill::before{content:"\f5df"}.bi-trash2::before{content:"\f5e0"}.bi-tree-fill::before{content:"\f5e1"}.bi-tree::before{content:"\f5e2"}.bi-triangle-fill::before{content:"\f5e3"}.bi-triangle-half::before{content:"\f5e4"}.bi-triangle::before{content:"\f5e5"}.bi-trophy-fill::before{content:"\f5e6"}.bi-trophy::before{content:"\f5e7"}.bi-tropical-storm::before{content:"\f5e8"}.bi-truck-flatbed::before{content:"\f5e9"}.bi-truck::before{content:"\f5ea"}.bi-tsunami::before{content:"\f5eb"}.bi-tv-fill::before{content:"\f5ec"}.bi-tv::before{content:"\f5ed"}.bi-twitch::before{content:"\f5ee"}.bi-twitter::before{content:"\f5ef"}.bi-type-bold::before{content:"\f5f0"}.bi-type-h1::before{content:"\f5f1"}.bi-type-h2::before{content:"\f5f2"}.bi-type-h3::before{content:"\f5f3"}.bi-type-italic::before{content:"\f5f4"}.bi-type-strikethrough::before{content:"\f5f5"}.bi-type-underline::before{content:"\f5f6"}.bi-type::before{content:"\f5f7"}.bi-ui-checks-grid::before{content:"\f5f8"}.bi-ui-checks::before{content:"\f5f9"}.bi-ui-radios-grid::before{content:"\f5fa"}.bi-ui-radios::before{content:"\f5fb"}.bi-umbrella-fill::before{content:"\f5fc"}.bi-umbrella::before{content:"\f5fd"}.bi-union::before{content:"\f5fe"}.bi-unlock-fill::before{content:"\f5ff"}.bi-unlock::before{content:"\f600"}.bi-upc-scan::before{content:"\f601"}.bi-upc::before{content:"\f602"}.bi-upload::before{content:"\f603"}.bi-vector-pen::before{content:"\f604"}.bi-view-list::before{content:"\f605"}.bi-view-stacked::before{content:"\f606"}.bi-vinyl-fill::before{content:"\f607"}.bi-vinyl::before{content:"\f608"}.bi-voicemail::before{content:"\f609"}.bi-volume-down-fill::before{content:"\f60a"}.bi-volume-down::before{content:"\f60b"}.bi-volume-mute-fill::before{content:"\f60c"}.bi-volume-mute::before{content:"\f60d"}.bi-volume-off-fill::before{content:"\f60e"}.bi-volume-off::before{content:"\f60f"}.bi-volume-up-fill::before{content:"\f610"}.bi-volume-up::before{content:"\f611"}.bi-vr::before{content:"\f612"}.bi-wallet-fill::before{content:"\f613"}.bi-wallet::before{content:"\f614"}.bi-wallet2::before{content:"\f615"}.bi-watch::before{content:"\f616"}.bi-water::before{content:"\f617"}.bi-whatsapp::before{content:"\f618"}.bi-wifi-1::before{content:"\f619"}.bi-wifi-2::before{content:"\f61a"}.bi-wifi-off::before{content:"\f61b"}.bi-wifi::before{content:"\f61c"}.bi-wind::before{content:"\f61d"}.bi-window-dock::before{content:"\f61e"}.bi-window-sidebar::before{content:"\f61f"}.bi-window::before{content:"\f620"}.bi-wrench::before{content:"\f621"}.bi-x-circle-fill::before{content:"\f622"}.bi-x-circle::before{content:"\f623"}.bi-x-diamond-fill::before{content:"\f624"}.bi-x-diamond::before{content:"\f625"}.bi-x-octagon-fill::before{content:"\f626"}.bi-x-octagon::before{content:"\f627"}.bi-x-square-fill::before{content:"\f628"}.bi-x-square::before{content:"\f629"}.bi-x::before{content:"\f62a"}.bi-youtube::before{content:"\f62b"}.bi-zoom-in::before{content:"\f62c"}.bi-zoom-out::before{content:"\f62d"}.bi-bank::before{content:"\f62e"}.bi-bank2::before{content:"\f62f"}.bi-bell-slash-fill::before{content:"\f630"}.bi-bell-slash::before{content:"\f631"}.bi-cash-coin::before{content:"\f632"}.bi-check-lg::before{content:"\f633"}.bi-coin::before{content:"\f634"}.bi-currency-bitcoin::before{content:"\f635"}.bi-currency-dollar::before{content:"\f636"}.bi-currency-euro::before{content:"\f637"}.bi-currency-exchange::before{content:"\f638"}.bi-currency-pound::before{content:"\f639"}.bi-currency-yen::before{content:"\f63a"}.bi-dash-lg::before{content:"\f63b"}.bi-exclamation-lg::before{content:"\f63c"}.bi-file-earmark-pdf-fill::before{content:"\f63d"}.bi-file-earmark-pdf::before{content:"\f63e"}.bi-file-pdf-fill::before{content:"\f63f"}.bi-file-pdf::before{content:"\f640"}.bi-gender-ambiguous::before{content:"\f641"}.bi-gender-female::before{content:"\f642"}.bi-gender-male::before{content:"\f643"}.bi-gender-trans::before{content:"\f644"}.bi-headset-vr::before{content:"\f645"}.bi-info-lg::before{content:"\f646"}.bi-mastodon::before{content:"\f647"}.bi-messenger::before{content:"\f648"}.bi-piggy-bank-fill::before{content:"\f649"}.bi-piggy-bank::before{content:"\f64a"}.bi-pin-map-fill::before{content:"\f64b"}.bi-pin-map::before{content:"\f64c"}.bi-plus-lg::before{content:"\f64d"}.bi-question-lg::before{content:"\f64e"}.bi-recycle::before{content:"\f64f"}.bi-reddit::before{content:"\f650"}.bi-safe-fill::before{content:"\f651"}.bi-safe2-fill::before{content:"\f652"}.bi-safe2::before{content:"\f653"}.bi-sd-card-fill::before{content:"\f654"}.bi-sd-card::before{content:"\f655"}.bi-skype::before{content:"\f656"}.bi-slash-lg::before{content:"\f657"}.bi-translate::before{content:"\f658"}.bi-x-lg::before{content:"\f659"}.bi-safe::before{content:"\f65a"}.bi-apple::before{content:"\f65b"}.bi-microsoft::before{content:"\f65d"}.bi-windows::before{content:"\f65e"}.bi-behance::before{content:"\f65c"}.bi-dribbble::before{content:"\f65f"}.bi-line::before{content:"\f660"}.bi-medium::before{content:"\f661"}.bi-paypal::before{content:"\f662"}.bi-pinterest::before{content:"\f663"}.bi-signal::before{content:"\f664"}.bi-snapchat::before{content:"\f665"}.bi-spotify::before{content:"\f666"}.bi-stack-overflow::before{content:"\f667"}.bi-strava::before{content:"\f668"}.bi-wordpress::before{content:"\f669"}.bi-vimeo::before{content:"\f66a"}.bi-activity::before{content:"\f66b"}.bi-easel2-fill::before{content:"\f66c"}.bi-easel2::before{content:"\f66d"}.bi-easel3-fill::before{content:"\f66e"}.bi-easel3::before{content:"\f66f"}.bi-fan::before{content:"\f670"}.bi-fingerprint::before{content:"\f671"}.bi-graph-down-arrow::before{content:"\f672"}.bi-graph-up-arrow::before{content:"\f673"}.bi-hypnotize::before{content:"\f674"}.bi-magic::before{content:"\f675"}.bi-person-rolodex::before{content:"\f676"}.bi-person-video::before{content:"\f677"}.bi-person-video2::before{content:"\f678"}.bi-person-video3::before{content:"\f679"}.bi-person-workspace::before{content:"\f67a"}.bi-radioactive::before{content:"\f67b"}.bi-webcam-fill::before{content:"\f67c"}.bi-webcam::before{content:"\f67d"}.bi-yin-yang::before{content:"\f67e"}.bi-bandaid-fill::before{content:"\f680"}.bi-bandaid::before{content:"\f681"}.bi-bluetooth::before{content:"\f682"}.bi-body-text::before{content:"\f683"}.bi-boombox::before{content:"\f684"}.bi-boxes::before{content:"\f685"}.bi-dpad-fill::before{content:"\f686"}.bi-dpad::before{content:"\f687"}.bi-ear-fill::before{content:"\f688"}.bi-ear::before{content:"\f689"}.bi-envelope-check-1::before{content:"\f68a"}.bi-envelope-check-fill::before{content:"\f68b"}.bi-envelope-check::before{content:"\f68c"}.bi-envelope-dash-1::before{content:"\f68d"}.bi-envelope-dash-fill::before{content:"\f68e"}.bi-envelope-dash::before{content:"\f68f"}.bi-envelope-exclamation-1::before{content:"\f690"}.bi-envelope-exclamation-fill::before{content:"\f691"}.bi-envelope-exclamation::before{content:"\f692"}.bi-envelope-plus-fill::before{content:"\f693"}.bi-envelope-plus::before{content:"\f694"}.bi-envelope-slash-1::before{content:"\f695"}.bi-envelope-slash-fill::before{content:"\f696"}.bi-envelope-slash::before{content:"\f697"}.bi-envelope-x-1::before{content:"\f698"}.bi-envelope-x-fill::before{content:"\f699"}.bi-envelope-x::before{content:"\f69a"}.bi-explicit-fill::before{content:"\f69b"}.bi-explicit::before{content:"\f69c"}.bi-git::before{content:"\f69d"}.bi-infinity::before{content:"\f69e"}.bi-list-columns-reverse::before{content:"\f69f"}.bi-list-columns::before{content:"\f6a0"}.bi-meta::before{content:"\f6a1"}.bi-mortorboard-fill::before{content:"\f6a2"}.bi-mortorboard::before{content:"\f6a3"}.bi-nintendo-switch::before{content:"\f6a4"}.bi-pc-display-horizontal::before{content:"\f6a5"}.bi-pc-display::before{content:"\f6a6"}.bi-pc-horizontal::before{content:"\f6a7"}.bi-pc::before{content:"\f6a8"}.bi-playstation::before{content:"\f6a9"}.bi-plus-slash-minus::before{content:"\f6aa"}.bi-projector-fill::before{content:"\f6ab"}.bi-projector::before{content:"\f6ac"}.bi-qr-code-scan::before{content:"\f6ad"}.bi-qr-code::before{content:"\f6ae"}.bi-quora::before{content:"\f6af"}.bi-quote::before{content:"\f6b0"}.bi-robot::before{content:"\f6b1"}.bi-send-check-fill::before{content:"\f6b2"}.bi-send-check::before{content:"\f6b3"}.bi-send-dash-fill::before{content:"\f6b4"}.bi-send-dash::before{content:"\f6b5"}.bi-send-exclamation-1::before{content:"\f6b6"}.bi-send-exclamation-fill::before{content:"\f6b7"}.bi-send-exclamation::before{content:"\f6b8"}.bi-send-fill::before{content:"\f6b9"}.bi-send-plus-fill::before{content:"\f6ba"}.bi-send-plus::before{content:"\f6bb"}.bi-send-slash-fill::before{content:"\f6bc"}.bi-send-slash::before{content:"\f6bd"}.bi-send-x-fill::before{content:"\f6be"}.bi-send-x::before{content:"\f6bf"}.bi-send::before{content:"\f6c0"}.bi-steam::before{content:"\f6c1"}.bi-terminal-dash-1::before{content:"\f6c2"}.bi-terminal-dash::before{content:"\f6c3"}.bi-terminal-plus::before{content:"\f6c4"}.bi-terminal-split::before{content:"\f6c5"}.bi-ticket-detailed-fill::before{content:"\f6c6"}.bi-ticket-detailed::before{content:"\f6c7"}.bi-ticket-fill::before{content:"\f6c8"}.bi-ticket-perforated-fill::before{content:"\f6c9"}.bi-ticket-perforated::before{content:"\f6ca"}.bi-ticket::before{content:"\f6cb"}.bi-tiktok::before{content:"\f6cc"}.bi-window-dash::before{content:"\f6cd"}.bi-window-desktop::before{content:"\f6ce"}.bi-window-fullscreen::before{content:"\f6cf"}.bi-window-plus::before{content:"\f6d0"}.bi-window-split::before{content:"\f6d1"}.bi-window-stack::before{content:"\f6d2"}.bi-window-x::before{content:"\f6d3"}.bi-xbox::before{content:"\f6d4"}.bi-ethernet::before{content:"\f6d5"}.bi-hdmi-fill::before{content:"\f6d6"}.bi-hdmi::before{content:"\f6d7"}.bi-usb-c-fill::before{content:"\f6d8"}.bi-usb-c::before{content:"\f6d9"}.bi-usb-fill::before{content:"\f6da"}.bi-usb-plug-fill::before{content:"\f6db"}.bi-usb-plug::before{content:"\f6dc"}.bi-usb-symbol::before{content:"\f6dd"}.bi-usb::before{content:"\f6de"}.bi-boombox-fill::before{content:"\f6df"}.bi-displayport-1::before{content:"\f6e0"}.bi-displayport::before{content:"\f6e1"}.bi-gpu-card::before{content:"\f6e2"}.bi-memory::before{content:"\f6e3"}.bi-modem-fill::before{content:"\f6e4"}.bi-modem::before{content:"\f6e5"}.bi-motherboard-fill::before{content:"\f6e6"}.bi-motherboard::before{content:"\f6e7"}.bi-optical-audio-fill::before{content:"\f6e8"}.bi-optical-audio::before{content:"\f6e9"}.bi-pci-card::before{content:"\f6ea"}.bi-router-fill::before{content:"\f6eb"}.bi-router::before{content:"\f6ec"}.bi-ssd-fill::before{content:"\f6ed"}.bi-ssd::before{content:"\f6ee"}.bi-thunderbolt-fill::before{content:"\f6ef"}.bi-thunderbolt::before{content:"\f6f0"}.bi-usb-drive-fill::before{content:"\f6f1"}.bi-usb-drive::before{content:"\f6f2"}.bi-usb-micro-fill::before{content:"\f6f3"}.bi-usb-micro::before{content:"\f6f4"}.bi-usb-mini-fill::before{content:"\f6f5"}.bi-usb-mini::before{content:"\f6f6"}.bi-cloud-haze2::before{content:"\f6f7"}.bi-device-hdd-fill::before{content:"\f6f8"}.bi-device-hdd::before{content:"\f6f9"}.bi-device-ssd-fill::before{content:"\f6fa"}.bi-device-ssd::before{content:"\f6fb"}.bi-displayport-fill::before{content:"\f6fc"}.bi-mortarboard-fill::before{content:"\f6fd"}.bi-mortarboard::before{content:"\f6fe"}.bi-terminal-x::before{content:"\f6ff"}.bi-arrow-through-heart-fill::before{content:"\f700"}.bi-arrow-through-heart::before{content:"\f701"}.bi-badge-sd-fill::before{content:"\f702"}.bi-badge-sd::before{content:"\f703"}.bi-bag-heart-fill::before{content:"\f704"}.bi-bag-heart::before{content:"\f705"}.bi-balloon-fill::before{content:"\f706"}.bi-balloon-heart-fill::before{content:"\f707"}.bi-balloon-heart::before{content:"\f708"}.bi-balloon::before{content:"\f709"}.bi-box2-fill::before{content:"\f70a"}.bi-box2-heart-fill::before{content:"\f70b"}.bi-box2-heart::before{content:"\f70c"}.bi-box2::before{content:"\f70d"}.bi-braces-asterisk::before{content:"\f70e"}.bi-calendar-heart-fill::before{content:"\f70f"}.bi-calendar-heart::before{content:"\f710"}.bi-calendar2-heart-fill::before{content:"\f711"}.bi-calendar2-heart::before{content:"\f712"}.bi-chat-heart-fill::before{content:"\f713"}.bi-chat-heart::before{content:"\f714"}.bi-chat-left-heart-fill::before{content:"\f715"}.bi-chat-left-heart::before{content:"\f716"}.bi-chat-right-heart-fill::before{content:"\f717"}.bi-chat-right-heart::before{content:"\f718"}.bi-chat-square-heart-fill::before{content:"\f719"}.bi-chat-square-heart::before{content:"\f71a"}.bi-clipboard-check-fill::before{content:"\f71b"}.bi-clipboard-data-fill::before{content:"\f71c"}.bi-clipboard-fill::before{content:"\f71d"}.bi-clipboard-heart-fill::before{content:"\f71e"}.bi-clipboard-heart::before{content:"\f71f"}.bi-clipboard-minus-fill::before{content:"\f720"}.bi-clipboard-plus-fill::before{content:"\f721"}.bi-clipboard-pulse::before{content:"\f722"}.bi-clipboard-x-fill::before{content:"\f723"}.bi-clipboard2-check-fill::before{content:"\f724"}.bi-clipboard2-check::before{content:"\f725"}.bi-clipboard2-data-fill::before{content:"\f726"}.bi-clipboard2-data::before{content:"\f727"}.bi-clipboard2-fill::before{content:"\f728"}.bi-clipboard2-heart-fill::before{content:"\f729"}.bi-clipboard2-heart::before{content:"\f72a"}.bi-clipboard2-minus-fill::before{content:"\f72b"}.bi-clipboard2-minus::before{content:"\f72c"}.bi-clipboard2-plus-fill::before{content:"\f72d"}.bi-clipboard2-plus::before{content:"\f72e"}.bi-clipboard2-pulse-fill::before{content:"\f72f"}.bi-clipboard2-pulse::before{content:"\f730"}.bi-clipboard2-x-fill::before{content:"\f731"}.bi-clipboard2-x::before{content:"\f732"}.bi-clipboard2::before{content:"\f733"}.bi-emoji-kiss-fill::before{content:"\f734"}.bi-emoji-kiss::before{content:"\f735"}.bi-envelope-heart-fill::before{content:"\f736"}.bi-envelope-heart::before{content:"\f737"}.bi-envelope-open-heart-fill::before{content:"\f738"}.bi-envelope-open-heart::before{content:"\f739"}.bi-envelope-paper-fill::before{content:"\f73a"}.bi-envelope-paper-heart-fill::before{content:"\f73b"}.bi-envelope-paper-heart::before{content:"\f73c"}.bi-envelope-paper::before{content:"\f73d"}.bi-filetype-aac::before{content:"\f73e"}.bi-filetype-ai::before{content:"\f73f"}.bi-filetype-bmp::before{content:"\f740"}.bi-filetype-cs::before{content:"\f741"}.bi-filetype-css::before{content:"\f742"}.bi-filetype-csv::before{content:"\f743"}.bi-filetype-doc::before{content:"\f744"}.bi-filetype-docx::before{content:"\f745"}.bi-filetype-exe::before{content:"\f746"}.bi-filetype-gif::before{content:"\f747"}.bi-filetype-heic::before{content:"\f748"}.bi-filetype-html::before{content:"\f749"}.bi-filetype-java::before{content:"\f74a"}.bi-filetype-jpg::before{content:"\f74b"}.bi-filetype-js::before{content:"\f74c"}.bi-filetype-jsx::before{content:"\f74d"}.bi-filetype-key::before{content:"\f74e"}.bi-filetype-m4p::before{content:"\f74f"}.bi-filetype-md::before{content:"\f750"}.bi-filetype-mdx::before{content:"\f751"}.bi-filetype-mov::before{content:"\f752"}.bi-filetype-mp3::before{content:"\f753"}.bi-filetype-mp4::before{content:"\f754"}.bi-filetype-otf::before{content:"\f755"}.bi-filetype-pdf::before{content:"\f756"}.bi-filetype-php::before{content:"\f757"}.bi-filetype-png::before{content:"\f758"}.bi-filetype-ppt-1::before{content:"\f759"}.bi-filetype-ppt::before{content:"\f75a"}.bi-filetype-psd::before{content:"\f75b"}.bi-filetype-py::before{content:"\f75c"}.bi-filetype-raw::before{content:"\f75d"}.bi-filetype-rb::before{content:"\f75e"}.bi-filetype-sass::before{content:"\f75f"}.bi-filetype-scss::before{content:"\f760"}.bi-filetype-sh::before{content:"\f761"}.bi-filetype-svg::before{content:"\f762"}.bi-filetype-tiff::before{content:"\f763"}.bi-filetype-tsx::before{content:"\f764"}.bi-filetype-ttf::before{content:"\f765"}.bi-filetype-txt::before{content:"\f766"}.bi-filetype-wav::before{content:"\f767"}.bi-filetype-woff::before{content:"\f768"}.bi-filetype-xls-1::before{content:"\f769"}.bi-filetype-xls::before{content:"\f76a"}.bi-filetype-xml::before{content:"\f76b"}.bi-filetype-yml::before{content:"\f76c"}.bi-heart-arrow::before{content:"\f76d"}.bi-heart-pulse-fill::before{content:"\f76e"}.bi-heart-pulse::before{content:"\f76f"}.bi-heartbreak-fill::before{content:"\f770"}.bi-heartbreak::before{content:"\f771"}.bi-hearts::before{content:"\f772"}.bi-hospital-fill::before{content:"\f773"}.bi-hospital::before{content:"\f774"}.bi-house-heart-fill::before{content:"\f775"}.bi-house-heart::before{content:"\f776"}.bi-incognito::before{content:"\f777"}.bi-magnet-fill::before{content:"\f778"}.bi-magnet::before{content:"\f779"}.bi-person-heart::before{content:"\f77a"}.bi-person-hearts::before{content:"\f77b"}.bi-phone-flip::before{content:"\f77c"}.bi-plugin::before{content:"\f77d"}.bi-postage-fill::before{content:"\f77e"}.bi-postage-heart-fill::before{content:"\f77f"}.bi-postage-heart::before{content:"\f780"}.bi-postage::before{content:"\f781"}.bi-postcard-fill::before{content:"\f782"}.bi-postcard-heart-fill::before{content:"\f783"}.bi-postcard-heart::before{content:"\f784"}.bi-postcard::before{content:"\f785"}.bi-search-heart-fill::before{content:"\f786"}.bi-search-heart::before{content:"\f787"}.bi-sliders2-vertical::before{content:"\f788"}.bi-sliders2::before{content:"\f789"}.bi-trash3-fill::before{content:"\f78a"}.bi-trash3::before{content:"\f78b"}.bi-valentine::before{content:"\f78c"}.bi-valentine2::before{content:"\f78d"}.bi-wrench-adjustable-circle-fill::before{content:"\f78e"}.bi-wrench-adjustable-circle::before{content:"\f78f"}.bi-wrench-adjustable::before{content:"\f790"}.bi-filetype-json::before{content:"\f791"}.bi-filetype-pptx::before{content:"\f792"}.bi-filetype-xlsx::before{content:"\f793"}.bi-1-circle-1::before{content:"\f794"}.bi-1-circle-fill-1::before{content:"\f795"}.bi-1-circle-fill::before{content:"\f796"}.bi-1-circle::before{content:"\f797"}.bi-1-square-fill::before{content:"\f798"}.bi-1-square::before{content:"\f799"}.bi-2-circle-1::before{content:"\f79a"}.bi-2-circle-fill-1::before{content:"\f79b"}.bi-2-circle-fill::before{content:"\f79c"}.bi-2-circle::before{content:"\f79d"}.bi-2-square-fill::before{content:"\f79e"}.bi-2-square::before{content:"\f79f"}.bi-3-circle-1::before{content:"\f7a0"}.bi-3-circle-fill-1::before{content:"\f7a1"}.bi-3-circle-fill::before{content:"\f7a2"}.bi-3-circle::before{content:"\f7a3"}.bi-3-square-fill::before{content:"\f7a4"}.bi-3-square::before{content:"\f7a5"}.bi-4-circle-1::before{content:"\f7a6"}.bi-4-circle-fill-1::before{content:"\f7a7"}.bi-4-circle-fill::before{content:"\f7a8"}.bi-4-circle::before{content:"\f7a9"}.bi-4-square-fill::before{content:"\f7aa"}.bi-4-square::before{content:"\f7ab"}.bi-5-circle-1::before{content:"\f7ac"}.bi-5-circle-fill-1::before{content:"\f7ad"}.bi-5-circle-fill::before{content:"\f7ae"}.bi-5-circle::before{content:"\f7af"}.bi-5-square-fill::before{content:"\f7b0"}.bi-5-square::before{content:"\f7b1"}.bi-6-circle-1::before{content:"\f7b2"}.bi-6-circle-fill-1::before{content:"\f7b3"}.bi-6-circle-fill::before{content:"\f7b4"}.bi-6-circle::before{content:"\f7b5"}.bi-6-square-fill::before{content:"\f7b6"}.bi-6-square::before{content:"\f7b7"}.bi-7-circle-1::before{content:"\f7b8"}.bi-7-circle-fill-1::before{content:"\f7b9"}.bi-7-circle-fill::before{content:"\f7ba"}.bi-7-circle::before{content:"\f7bb"}.bi-7-square-fill::before{content:"\f7bc"}.bi-7-square::before{content:"\f7bd"}.bi-8-circle-1::before{content:"\f7be"}.bi-8-circle-fill-1::before{content:"\f7bf"}.bi-8-circle-fill::before{content:"\f7c0"}.bi-8-circle::before{content:"\f7c1"}.bi-8-square-fill::before{content:"\f7c2"}.bi-8-square::before{content:"\f7c3"}.bi-9-circle-1::before{content:"\f7c4"}.bi-9-circle-fill-1::before{content:"\f7c5"}.bi-9-circle-fill::before{content:"\f7c6"}.bi-9-circle::before{content:"\f7c7"}.bi-9-square-fill::before{content:"\f7c8"}.bi-9-square::before{content:"\f7c9"}.bi-airplane-engines-fill::before{content:"\f7ca"}.bi-airplane-engines::before{content:"\f7cb"}.bi-airplane-fill::before{content:"\f7cc"}.bi-airplane::before{content:"\f7cd"}.bi-alexa::before{content:"\f7ce"}.bi-alipay::before{content:"\f7cf"}.bi-android::before{content:"\f7d0"}.bi-android2::before{content:"\f7d1"}.bi-box-fill::before{content:"\f7d2"}.bi-box-seam-fill::before{content:"\f7d3"}.bi-browser-chrome::before{content:"\f7d4"}.bi-browser-edge::before{content:"\f7d5"}.bi-browser-firefox::before{content:"\f7d6"}.bi-browser-safari::before{content:"\f7d7"}.bi-c-circle-1::before{content:"\f7d8"}.bi-c-circle-fill-1::before{content:"\f7d9"}.bi-c-circle-fill::before{content:"\f7da"}.bi-c-circle::before{content:"\f7db"}.bi-c-square-fill::before{content:"\f7dc"}.bi-c-square::before{content:"\f7dd"}.bi-capsule-pill::before{content:"\f7de"}.bi-capsule::before{content:"\f7df"}.bi-car-front-fill::before{content:"\f7e0"}.bi-car-front::before{content:"\f7e1"}.bi-cassette-fill::before{content:"\f7e2"}.bi-cassette::before{content:"\f7e3"}.bi-cc-circle-1::before{content:"\f7e4"}.bi-cc-circle-fill-1::before{content:"\f7e5"}.bi-cc-circle-fill::before{content:"\f7e6"}.bi-cc-circle::before{content:"\f7e7"}.bi-cc-square-fill::before{content:"\f7e8"}.bi-cc-square::before{content:"\f7e9"}.bi-cup-hot-fill::before{content:"\f7ea"}.bi-cup-hot::before{content:"\f7eb"}.bi-currency-rupee::before{content:"\f7ec"}.bi-dropbox::before{content:"\f7ed"}.bi-escape::before{content:"\f7ee"}.bi-fast-forward-btn-fill::before{content:"\f7ef"}.bi-fast-forward-btn::before{content:"\f7f0"}.bi-fast-forward-circle-fill::before{content:"\f7f1"}.bi-fast-forward-circle::before{content:"\f7f2"}.bi-fast-forward-fill::before{content:"\f7f3"}.bi-fast-forward::before{content:"\f7f4"}.bi-filetype-sql::before{content:"\f7f5"}.bi-fire::before{content:"\f7f6"}.bi-google-play::before{content:"\f7f7"}.bi-h-circle-1::before{content:"\f7f8"}.bi-h-circle-fill-1::before{content:"\f7f9"}.bi-h-circle-fill::before{content:"\f7fa"}.bi-h-circle::before{content:"\f7fb"}.bi-h-square-fill::before{content:"\f7fc"}.bi-h-square::before{content:"\f7fd"}.bi-indent::before{content:"\f7fe"}.bi-lungs-fill::before{content:"\f7ff"}.bi-lungs::before{content:"\f800"}.bi-microsoft-teams::before{content:"\f801"}.bi-p-circle-1::before{content:"\f802"}.bi-p-circle-fill-1::before{content:"\f803"}.bi-p-circle-fill::before{content:"\f804"}.bi-p-circle::before{content:"\f805"}.bi-p-square-fill::before{content:"\f806"}.bi-p-square::before{content:"\f807"}.bi-pass-fill::before{content:"\f808"}.bi-pass::before{content:"\f809"}.bi-prescription::before{content:"\f80a"}.bi-prescription2::before{content:"\f80b"}.bi-r-circle-1::before{content:"\f80c"}.bi-r-circle-fill-1::before{content:"\f80d"}.bi-r-circle-fill::before{content:"\f80e"}.bi-r-circle::before{content:"\f80f"}.bi-r-square-fill::before{content:"\f810"}.bi-r-square::before{content:"\f811"}.bi-repeat-1::before{content:"\f812"}.bi-repeat::before{content:"\f813"}.bi-rewind-btn-fill::before{content:"\f814"}.bi-rewind-btn::before{content:"\f815"}.bi-rewind-circle-fill::before{content:"\f816"}.bi-rewind-circle::before{content:"\f817"}.bi-rewind-fill::before{content:"\f818"}.bi-rewind::before{content:"\f819"}.bi-train-freight-front-fill::before{content:"\f81a"}.bi-train-freight-front::before{content:"\f81b"}.bi-train-front-fill::before{content:"\f81c"}.bi-train-front::before{content:"\f81d"}.bi-train-lightrail-front-fill::before{content:"\f81e"}.bi-train-lightrail-front::before{content:"\f81f"}.bi-truck-front-fill::before{content:"\f820"}.bi-truck-front::before{content:"\f821"}.bi-ubuntu::before{content:"\f822"}.bi-unindent::before{content:"\f823"}.bi-unity::before{content:"\f824"}.bi-universal-access-circle::before{content:"\f825"}.bi-universal-access::before{content:"\f826"}.bi-virus::before{content:"\f827"}.bi-virus2::before{content:"\f828"}.bi-wechat::before{content:"\f829"}.bi-yelp::before{content:"\f82a"}.bi-sign-stop-fill::before{content:"\f82b"}.bi-sign-stop-lights-fill::before{content:"\f82c"}.bi-sign-stop-lights::before{content:"\f82d"}.bi-sign-stop::before{content:"\f82e"}.bi-sign-turn-left-fill::before{content:"\f82f"}.bi-sign-turn-left::before{content:"\f830"}.bi-sign-turn-right-fill::before{content:"\f831"}.bi-sign-turn-right::before{content:"\f832"}.bi-sign-turn-slight-left-fill::before{content:"\f833"}.bi-sign-turn-slight-left::before{content:"\f834"}.bi-sign-turn-slight-right-fill::before{content:"\f835"}.bi-sign-turn-slight-right::before{content:"\f836"}.bi-sign-yield-fill::before{content:"\f837"}.bi-sign-yield::before{content:"\f838"}.bi-ev-station-fill::before{content:"\f839"}.bi-ev-station::before{content:"\f83a"}.bi-fuel-pump-diesel-fill::before{content:"\f83b"}.bi-fuel-pump-diesel::before{content:"\f83c"}.bi-fuel-pump-fill::before{content:"\f83d"}.bi-fuel-pump::before{content:"\f83e"} +/*# sourceMappingURL=/sm/d206ec34385c8521671a1967f920c286a45bf739842d26fd53d751161e52d8f9.map */ \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.scss b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.scss new file mode 100644 index 000000000..99770d07d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.scss @@ -0,0 +1,3738 @@ +$bootstrap-icons-font: "bootstrap-icons" !default; +$bootstrap-icons-font-dir: "./fonts" !default; +$bootstrap-icons-font-file: #{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font} !default; +$bootstrap-icons-font-hash: "8d200481aa7f02a2d63a331fc782cfaf" !default; +$bootstrap-icons-font-src: url("#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}") format("woff2"), url("#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}") format("woff") !default; + +@font-face { + font-display: block; + font-family: $bootstrap-icons-font; + src: $bootstrap-icons-font-src; +} + +.bi::before, +[class^="bi-"]::before, +[class*=" bi-"]::before { + display: inline-block; + font-family: $bootstrap-icons-font !important; + font-style: normal; + font-weight: normal !important; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: -.125em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +$bootstrap-icons-map: ( + "123": "\f67f", + "alarm-fill": "\f101", + "alarm": "\f102", + "align-bottom": "\f103", + "align-center": "\f104", + "align-end": "\f105", + "align-middle": "\f106", + "align-start": "\f107", + "align-top": "\f108", + "alt": "\f109", + "app-indicator": "\f10a", + "app": "\f10b", + "archive-fill": "\f10c", + "archive": "\f10d", + "arrow-90deg-down": "\f10e", + "arrow-90deg-left": "\f10f", + "arrow-90deg-right": "\f110", + "arrow-90deg-up": "\f111", + "arrow-bar-down": "\f112", + "arrow-bar-left": "\f113", + "arrow-bar-right": "\f114", + "arrow-bar-up": "\f115", + "arrow-clockwise": "\f116", + "arrow-counterclockwise": "\f117", + "arrow-down-circle-fill": "\f118", + "arrow-down-circle": "\f119", + "arrow-down-left-circle-fill": "\f11a", + "arrow-down-left-circle": "\f11b", + "arrow-down-left-square-fill": "\f11c", + "arrow-down-left-square": "\f11d", + "arrow-down-left": "\f11e", + "arrow-down-right-circle-fill": "\f11f", + "arrow-down-right-circle": "\f120", + "arrow-down-right-square-fill": "\f121", + "arrow-down-right-square": "\f122", + "arrow-down-right": "\f123", + "arrow-down-short": "\f124", + "arrow-down-square-fill": "\f125", + "arrow-down-square": "\f126", + "arrow-down-up": "\f127", + "arrow-down": "\f128", + "arrow-left-circle-fill": "\f129", + "arrow-left-circle": "\f12a", + "arrow-left-right": "\f12b", + "arrow-left-short": "\f12c", + "arrow-left-square-fill": "\f12d", + "arrow-left-square": "\f12e", + "arrow-left": "\f12f", + "arrow-repeat": "\f130", + "arrow-return-left": "\f131", + "arrow-return-right": "\f132", + "arrow-right-circle-fill": "\f133", + "arrow-right-circle": "\f134", + "arrow-right-short": "\f135", + "arrow-right-square-fill": "\f136", + "arrow-right-square": "\f137", + "arrow-right": "\f138", + "arrow-up-circle-fill": "\f139", + "arrow-up-circle": "\f13a", + "arrow-up-left-circle-fill": "\f13b", + "arrow-up-left-circle": "\f13c", + "arrow-up-left-square-fill": "\f13d", + "arrow-up-left-square": "\f13e", + "arrow-up-left": "\f13f", + "arrow-up-right-circle-fill": "\f140", + "arrow-up-right-circle": "\f141", + "arrow-up-right-square-fill": "\f142", + "arrow-up-right-square": "\f143", + "arrow-up-right": "\f144", + "arrow-up-short": "\f145", + "arrow-up-square-fill": "\f146", + "arrow-up-square": "\f147", + "arrow-up": "\f148", + "arrows-angle-contract": "\f149", + "arrows-angle-expand": "\f14a", + "arrows-collapse": "\f14b", + "arrows-expand": "\f14c", + "arrows-fullscreen": "\f14d", + "arrows-move": "\f14e", + "aspect-ratio-fill": "\f14f", + "aspect-ratio": "\f150", + "asterisk": "\f151", + "at": "\f152", + "award-fill": "\f153", + "award": "\f154", + "back": "\f155", + "backspace-fill": "\f156", + "backspace-reverse-fill": "\f157", + "backspace-reverse": "\f158", + "backspace": "\f159", + "badge-3d-fill": "\f15a", + "badge-3d": "\f15b", + "badge-4k-fill": "\f15c", + "badge-4k": "\f15d", + "badge-8k-fill": "\f15e", + "badge-8k": "\f15f", + "badge-ad-fill": "\f160", + "badge-ad": "\f161", + "badge-ar-fill": "\f162", + "badge-ar": "\f163", + "badge-cc-fill": "\f164", + "badge-cc": "\f165", + "badge-hd-fill": "\f166", + "badge-hd": "\f167", + "badge-tm-fill": "\f168", + "badge-tm": "\f169", + "badge-vo-fill": "\f16a", + "badge-vo": "\f16b", + "badge-vr-fill": "\f16c", + "badge-vr": "\f16d", + "badge-wc-fill": "\f16e", + "badge-wc": "\f16f", + "bag-check-fill": "\f170", + "bag-check": "\f171", + "bag-dash-fill": "\f172", + "bag-dash": "\f173", + "bag-fill": "\f174", + "bag-plus-fill": "\f175", + "bag-plus": "\f176", + "bag-x-fill": "\f177", + "bag-x": "\f178", + "bag": "\f179", + "bar-chart-fill": "\f17a", + "bar-chart-line-fill": "\f17b", + "bar-chart-line": "\f17c", + "bar-chart-steps": "\f17d", + "bar-chart": "\f17e", + "basket-fill": "\f17f", + "basket": "\f180", + "basket2-fill": "\f181", + "basket2": "\f182", + "basket3-fill": "\f183", + "basket3": "\f184", + "battery-charging": "\f185", + "battery-full": "\f186", + "battery-half": "\f187", + "battery": "\f188", + "bell-fill": "\f189", + "bell": "\f18a", + "bezier": "\f18b", + "bezier2": "\f18c", + "bicycle": "\f18d", + "binoculars-fill": "\f18e", + "binoculars": "\f18f", + "blockquote-left": "\f190", + "blockquote-right": "\f191", + "book-fill": "\f192", + "book-half": "\f193", + "book": "\f194", + "bookmark-check-fill": "\f195", + "bookmark-check": "\f196", + "bookmark-dash-fill": "\f197", + "bookmark-dash": "\f198", + "bookmark-fill": "\f199", + "bookmark-heart-fill": "\f19a", + "bookmark-heart": "\f19b", + "bookmark-plus-fill": "\f19c", + "bookmark-plus": "\f19d", + "bookmark-star-fill": "\f19e", + "bookmark-star": "\f19f", + "bookmark-x-fill": "\f1a0", + "bookmark-x": "\f1a1", + "bookmark": "\f1a2", + "bookmarks-fill": "\f1a3", + "bookmarks": "\f1a4", + "bookshelf": "\f1a5", + "bootstrap-fill": "\f1a6", + "bootstrap-reboot": "\f1a7", + "bootstrap": "\f1a8", + "border-all": "\f1a9", + "border-bottom": "\f1aa", + "border-center": "\f1ab", + "border-inner": "\f1ac", + "border-left": "\f1ad", + "border-middle": "\f1ae", + "border-outer": "\f1af", + "border-right": "\f1b0", + "border-style": "\f1b1", + "border-top": "\f1b2", + "border-width": "\f1b3", + "border": "\f1b4", + "bounding-box-circles": "\f1b5", + "bounding-box": "\f1b6", + "box-arrow-down-left": "\f1b7", + "box-arrow-down-right": "\f1b8", + "box-arrow-down": "\f1b9", + "box-arrow-in-down-left": "\f1ba", + "box-arrow-in-down-right": "\f1bb", + "box-arrow-in-down": "\f1bc", + "box-arrow-in-left": "\f1bd", + "box-arrow-in-right": "\f1be", + "box-arrow-in-up-left": "\f1bf", + "box-arrow-in-up-right": "\f1c0", + "box-arrow-in-up": "\f1c1", + "box-arrow-left": "\f1c2", + "box-arrow-right": "\f1c3", + "box-arrow-up-left": "\f1c4", + "box-arrow-up-right": "\f1c5", + "box-arrow-up": "\f1c6", + "box-seam": "\f1c7", + "box": "\f1c8", + "braces": "\f1c9", + "bricks": "\f1ca", + "briefcase-fill": "\f1cb", + "briefcase": "\f1cc", + "brightness-alt-high-fill": "\f1cd", + "brightness-alt-high": "\f1ce", + "brightness-alt-low-fill": "\f1cf", + "brightness-alt-low": "\f1d0", + "brightness-high-fill": "\f1d1", + "brightness-high": "\f1d2", + "brightness-low-fill": "\f1d3", + "brightness-low": "\f1d4", + "broadcast-pin": "\f1d5", + "broadcast": "\f1d6", + "brush-fill": "\f1d7", + "brush": "\f1d8", + "bucket-fill": "\f1d9", + "bucket": "\f1da", + "bug-fill": "\f1db", + "bug": "\f1dc", + "building": "\f1dd", + "bullseye": "\f1de", + "calculator-fill": "\f1df", + "calculator": "\f1e0", + "calendar-check-fill": "\f1e1", + "calendar-check": "\f1e2", + "calendar-date-fill": "\f1e3", + "calendar-date": "\f1e4", + "calendar-day-fill": "\f1e5", + "calendar-day": "\f1e6", + "calendar-event-fill": "\f1e7", + "calendar-event": "\f1e8", + "calendar-fill": "\f1e9", + "calendar-minus-fill": "\f1ea", + "calendar-minus": "\f1eb", + "calendar-month-fill": "\f1ec", + "calendar-month": "\f1ed", + "calendar-plus-fill": "\f1ee", + "calendar-plus": "\f1ef", + "calendar-range-fill": "\f1f0", + "calendar-range": "\f1f1", + "calendar-week-fill": "\f1f2", + "calendar-week": "\f1f3", + "calendar-x-fill": "\f1f4", + "calendar-x": "\f1f5", + "calendar": "\f1f6", + "calendar2-check-fill": "\f1f7", + "calendar2-check": "\f1f8", + "calendar2-date-fill": "\f1f9", + "calendar2-date": "\f1fa", + "calendar2-day-fill": "\f1fb", + "calendar2-day": "\f1fc", + "calendar2-event-fill": "\f1fd", + "calendar2-event": "\f1fe", + "calendar2-fill": "\f1ff", + "calendar2-minus-fill": "\f200", + "calendar2-minus": "\f201", + "calendar2-month-fill": "\f202", + "calendar2-month": "\f203", + "calendar2-plus-fill": "\f204", + "calendar2-plus": "\f205", + "calendar2-range-fill": "\f206", + "calendar2-range": "\f207", + "calendar2-week-fill": "\f208", + "calendar2-week": "\f209", + "calendar2-x-fill": "\f20a", + "calendar2-x": "\f20b", + "calendar2": "\f20c", + "calendar3-event-fill": "\f20d", + "calendar3-event": "\f20e", + "calendar3-fill": "\f20f", + "calendar3-range-fill": "\f210", + "calendar3-range": "\f211", + "calendar3-week-fill": "\f212", + "calendar3-week": "\f213", + "calendar3": "\f214", + "calendar4-event": "\f215", + "calendar4-range": "\f216", + "calendar4-week": "\f217", + "calendar4": "\f218", + "camera-fill": "\f219", + "camera-reels-fill": "\f21a", + "camera-reels": "\f21b", + "camera-video-fill": "\f21c", + "camera-video-off-fill": "\f21d", + "camera-video-off": "\f21e", + "camera-video": "\f21f", + "camera": "\f220", + "camera2": "\f221", + "capslock-fill": "\f222", + "capslock": "\f223", + "card-checklist": "\f224", + "card-heading": "\f225", + "card-image": "\f226", + "card-list": "\f227", + "card-text": "\f228", + "caret-down-fill": "\f229", + "caret-down-square-fill": "\f22a", + "caret-down-square": "\f22b", + "caret-down": "\f22c", + "caret-left-fill": "\f22d", + "caret-left-square-fill": "\f22e", + "caret-left-square": "\f22f", + "caret-left": "\f230", + "caret-right-fill": "\f231", + "caret-right-square-fill": "\f232", + "caret-right-square": "\f233", + "caret-right": "\f234", + "caret-up-fill": "\f235", + "caret-up-square-fill": "\f236", + "caret-up-square": "\f237", + "caret-up": "\f238", + "cart-check-fill": "\f239", + "cart-check": "\f23a", + "cart-dash-fill": "\f23b", + "cart-dash": "\f23c", + "cart-fill": "\f23d", + "cart-plus-fill": "\f23e", + "cart-plus": "\f23f", + "cart-x-fill": "\f240", + "cart-x": "\f241", + "cart": "\f242", + "cart2": "\f243", + "cart3": "\f244", + "cart4": "\f245", + "cash-stack": "\f246", + "cash": "\f247", + "cast": "\f248", + "chat-dots-fill": "\f249", + "chat-dots": "\f24a", + "chat-fill": "\f24b", + "chat-left-dots-fill": "\f24c", + "chat-left-dots": "\f24d", + "chat-left-fill": "\f24e", + "chat-left-quote-fill": "\f24f", + "chat-left-quote": "\f250", + "chat-left-text-fill": "\f251", + "chat-left-text": "\f252", + "chat-left": "\f253", + "chat-quote-fill": "\f254", + "chat-quote": "\f255", + "chat-right-dots-fill": "\f256", + "chat-right-dots": "\f257", + "chat-right-fill": "\f258", + "chat-right-quote-fill": "\f259", + "chat-right-quote": "\f25a", + "chat-right-text-fill": "\f25b", + "chat-right-text": "\f25c", + "chat-right": "\f25d", + "chat-square-dots-fill": "\f25e", + "chat-square-dots": "\f25f", + "chat-square-fill": "\f260", + "chat-square-quote-fill": "\f261", + "chat-square-quote": "\f262", + "chat-square-text-fill": "\f263", + "chat-square-text": "\f264", + "chat-square": "\f265", + "chat-text-fill": "\f266", + "chat-text": "\f267", + "chat": "\f268", + "check-all": "\f269", + "check-circle-fill": "\f26a", + "check-circle": "\f26b", + "check-square-fill": "\f26c", + "check-square": "\f26d", + "check": "\f26e", + "check2-all": "\f26f", + "check2-circle": "\f270", + "check2-square": "\f271", + "check2": "\f272", + "chevron-bar-contract": "\f273", + "chevron-bar-down": "\f274", + "chevron-bar-expand": "\f275", + "chevron-bar-left": "\f276", + "chevron-bar-right": "\f277", + "chevron-bar-up": "\f278", + "chevron-compact-down": "\f279", + "chevron-compact-left": "\f27a", + "chevron-compact-right": "\f27b", + "chevron-compact-up": "\f27c", + "chevron-contract": "\f27d", + "chevron-double-down": "\f27e", + "chevron-double-left": "\f27f", + "chevron-double-right": "\f280", + "chevron-double-up": "\f281", + "chevron-down": "\f282", + "chevron-expand": "\f283", + "chevron-left": "\f284", + "chevron-right": "\f285", + "chevron-up": "\f286", + "circle-fill": "\f287", + "circle-half": "\f288", + "circle-square": "\f289", + "circle": "\f28a", + "clipboard-check": "\f28b", + "clipboard-data": "\f28c", + "clipboard-minus": "\f28d", + "clipboard-plus": "\f28e", + "clipboard-x": "\f28f", + "clipboard": "\f290", + "clock-fill": "\f291", + "clock-history": "\f292", + "clock": "\f293", + "cloud-arrow-down-fill": "\f294", + "cloud-arrow-down": "\f295", + "cloud-arrow-up-fill": "\f296", + "cloud-arrow-up": "\f297", + "cloud-check-fill": "\f298", + "cloud-check": "\f299", + "cloud-download-fill": "\f29a", + "cloud-download": "\f29b", + "cloud-drizzle-fill": "\f29c", + "cloud-drizzle": "\f29d", + "cloud-fill": "\f29e", + "cloud-fog-fill": "\f29f", + "cloud-fog": "\f2a0", + "cloud-fog2-fill": "\f2a1", + "cloud-fog2": "\f2a2", + "cloud-hail-fill": "\f2a3", + "cloud-hail": "\f2a4", + "cloud-haze-1": "\f2a5", + "cloud-haze-fill": "\f2a6", + "cloud-haze": "\f2a7", + "cloud-haze2-fill": "\f2a8", + "cloud-lightning-fill": "\f2a9", + "cloud-lightning-rain-fill": "\f2aa", + "cloud-lightning-rain": "\f2ab", + "cloud-lightning": "\f2ac", + "cloud-minus-fill": "\f2ad", + "cloud-minus": "\f2ae", + "cloud-moon-fill": "\f2af", + "cloud-moon": "\f2b0", + "cloud-plus-fill": "\f2b1", + "cloud-plus": "\f2b2", + "cloud-rain-fill": "\f2b3", + "cloud-rain-heavy-fill": "\f2b4", + "cloud-rain-heavy": "\f2b5", + "cloud-rain": "\f2b6", + "cloud-slash-fill": "\f2b7", + "cloud-slash": "\f2b8", + "cloud-sleet-fill": "\f2b9", + "cloud-sleet": "\f2ba", + "cloud-snow-fill": "\f2bb", + "cloud-snow": "\f2bc", + "cloud-sun-fill": "\f2bd", + "cloud-sun": "\f2be", + "cloud-upload-fill": "\f2bf", + "cloud-upload": "\f2c0", + "cloud": "\f2c1", + "clouds-fill": "\f2c2", + "clouds": "\f2c3", + "cloudy-fill": "\f2c4", + "cloudy": "\f2c5", + "code-slash": "\f2c6", + "code-square": "\f2c7", + "code": "\f2c8", + "collection-fill": "\f2c9", + "collection-play-fill": "\f2ca", + "collection-play": "\f2cb", + "collection": "\f2cc", + "columns-gap": "\f2cd", + "columns": "\f2ce", + "command": "\f2cf", + "compass-fill": "\f2d0", + "compass": "\f2d1", + "cone-striped": "\f2d2", + "cone": "\f2d3", + "controller": "\f2d4", + "cpu-fill": "\f2d5", + "cpu": "\f2d6", + "credit-card-2-back-fill": "\f2d7", + "credit-card-2-back": "\f2d8", + "credit-card-2-front-fill": "\f2d9", + "credit-card-2-front": "\f2da", + "credit-card-fill": "\f2db", + "credit-card": "\f2dc", + "crop": "\f2dd", + "cup-fill": "\f2de", + "cup-straw": "\f2df", + "cup": "\f2e0", + "cursor-fill": "\f2e1", + "cursor-text": "\f2e2", + "cursor": "\f2e3", + "dash-circle-dotted": "\f2e4", + "dash-circle-fill": "\f2e5", + "dash-circle": "\f2e6", + "dash-square-dotted": "\f2e7", + "dash-square-fill": "\f2e8", + "dash-square": "\f2e9", + "dash": "\f2ea", + "diagram-2-fill": "\f2eb", + "diagram-2": "\f2ec", + "diagram-3-fill": "\f2ed", + "diagram-3": "\f2ee", + "diamond-fill": "\f2ef", + "diamond-half": "\f2f0", + "diamond": "\f2f1", + "dice-1-fill": "\f2f2", + "dice-1": "\f2f3", + "dice-2-fill": "\f2f4", + "dice-2": "\f2f5", + "dice-3-fill": "\f2f6", + "dice-3": "\f2f7", + "dice-4-fill": "\f2f8", + "dice-4": "\f2f9", + "dice-5-fill": "\f2fa", + "dice-5": "\f2fb", + "dice-6-fill": "\f2fc", + "dice-6": "\f2fd", + "disc-fill": "\f2fe", + "disc": "\f2ff", + "discord": "\f300", + "display-fill": "\f301", + "display": "\f302", + "distribute-horizontal": "\f303", + "distribute-vertical": "\f304", + "door-closed-fill": "\f305", + "door-closed": "\f306", + "door-open-fill": "\f307", + "door-open": "\f308", + "dot": "\f309", + "download": "\f30a", + "droplet-fill": "\f30b", + "droplet-half": "\f30c", + "droplet": "\f30d", + "earbuds": "\f30e", + "easel-fill": "\f30f", + "easel": "\f310", + "egg-fill": "\f311", + "egg-fried": "\f312", + "egg": "\f313", + "eject-fill": "\f314", + "eject": "\f315", + "emoji-angry-fill": "\f316", + "emoji-angry": "\f317", + "emoji-dizzy-fill": "\f318", + "emoji-dizzy": "\f319", + "emoji-expressionless-fill": "\f31a", + "emoji-expressionless": "\f31b", + "emoji-frown-fill": "\f31c", + "emoji-frown": "\f31d", + "emoji-heart-eyes-fill": "\f31e", + "emoji-heart-eyes": "\f31f", + "emoji-laughing-fill": "\f320", + "emoji-laughing": "\f321", + "emoji-neutral-fill": "\f322", + "emoji-neutral": "\f323", + "emoji-smile-fill": "\f324", + "emoji-smile-upside-down-fill": "\f325", + "emoji-smile-upside-down": "\f326", + "emoji-smile": "\f327", + "emoji-sunglasses-fill": "\f328", + "emoji-sunglasses": "\f329", + "emoji-wink-fill": "\f32a", + "emoji-wink": "\f32b", + "envelope-fill": "\f32c", + "envelope-open-fill": "\f32d", + "envelope-open": "\f32e", + "envelope": "\f32f", + "eraser-fill": "\f330", + "eraser": "\f331", + "exclamation-circle-fill": "\f332", + "exclamation-circle": "\f333", + "exclamation-diamond-fill": "\f334", + "exclamation-diamond": "\f335", + "exclamation-octagon-fill": "\f336", + "exclamation-octagon": "\f337", + "exclamation-square-fill": "\f338", + "exclamation-square": "\f339", + "exclamation-triangle-fill": "\f33a", + "exclamation-triangle": "\f33b", + "exclamation": "\f33c", + "exclude": "\f33d", + "eye-fill": "\f33e", + "eye-slash-fill": "\f33f", + "eye-slash": "\f340", + "eye": "\f341", + "eyedropper": "\f342", + "eyeglasses": "\f343", + "facebook": "\f344", + "file-arrow-down-fill": "\f345", + "file-arrow-down": "\f346", + "file-arrow-up-fill": "\f347", + "file-arrow-up": "\f348", + "file-bar-graph-fill": "\f349", + "file-bar-graph": "\f34a", + "file-binary-fill": "\f34b", + "file-binary": "\f34c", + "file-break-fill": "\f34d", + "file-break": "\f34e", + "file-check-fill": "\f34f", + "file-check": "\f350", + "file-code-fill": "\f351", + "file-code": "\f352", + "file-diff-fill": "\f353", + "file-diff": "\f354", + "file-earmark-arrow-down-fill": "\f355", + "file-earmark-arrow-down": "\f356", + "file-earmark-arrow-up-fill": "\f357", + "file-earmark-arrow-up": "\f358", + "file-earmark-bar-graph-fill": "\f359", + "file-earmark-bar-graph": "\f35a", + "file-earmark-binary-fill": "\f35b", + "file-earmark-binary": "\f35c", + "file-earmark-break-fill": "\f35d", + "file-earmark-break": "\f35e", + "file-earmark-check-fill": "\f35f", + "file-earmark-check": "\f360", + "file-earmark-code-fill": "\f361", + "file-earmark-code": "\f362", + "file-earmark-diff-fill": "\f363", + "file-earmark-diff": "\f364", + "file-earmark-easel-fill": "\f365", + "file-earmark-easel": "\f366", + "file-earmark-excel-fill": "\f367", + "file-earmark-excel": "\f368", + "file-earmark-fill": "\f369", + "file-earmark-font-fill": "\f36a", + "file-earmark-font": "\f36b", + "file-earmark-image-fill": "\f36c", + "file-earmark-image": "\f36d", + "file-earmark-lock-fill": "\f36e", + "file-earmark-lock": "\f36f", + "file-earmark-lock2-fill": "\f370", + "file-earmark-lock2": "\f371", + "file-earmark-medical-fill": "\f372", + "file-earmark-medical": "\f373", + "file-earmark-minus-fill": "\f374", + "file-earmark-minus": "\f375", + "file-earmark-music-fill": "\f376", + "file-earmark-music": "\f377", + "file-earmark-person-fill": "\f378", + "file-earmark-person": "\f379", + "file-earmark-play-fill": "\f37a", + "file-earmark-play": "\f37b", + "file-earmark-plus-fill": "\f37c", + "file-earmark-plus": "\f37d", + "file-earmark-post-fill": "\f37e", + "file-earmark-post": "\f37f", + "file-earmark-ppt-fill": "\f380", + "file-earmark-ppt": "\f381", + "file-earmark-richtext-fill": "\f382", + "file-earmark-richtext": "\f383", + "file-earmark-ruled-fill": "\f384", + "file-earmark-ruled": "\f385", + "file-earmark-slides-fill": "\f386", + "file-earmark-slides": "\f387", + "file-earmark-spreadsheet-fill": "\f388", + "file-earmark-spreadsheet": "\f389", + "file-earmark-text-fill": "\f38a", + "file-earmark-text": "\f38b", + "file-earmark-word-fill": "\f38c", + "file-earmark-word": "\f38d", + "file-earmark-x-fill": "\f38e", + "file-earmark-x": "\f38f", + "file-earmark-zip-fill": "\f390", + "file-earmark-zip": "\f391", + "file-earmark": "\f392", + "file-easel-fill": "\f393", + "file-easel": "\f394", + "file-excel-fill": "\f395", + "file-excel": "\f396", + "file-fill": "\f397", + "file-font-fill": "\f398", + "file-font": "\f399", + "file-image-fill": "\f39a", + "file-image": "\f39b", + "file-lock-fill": "\f39c", + "file-lock": "\f39d", + "file-lock2-fill": "\f39e", + "file-lock2": "\f39f", + "file-medical-fill": "\f3a0", + "file-medical": "\f3a1", + "file-minus-fill": "\f3a2", + "file-minus": "\f3a3", + "file-music-fill": "\f3a4", + "file-music": "\f3a5", + "file-person-fill": "\f3a6", + "file-person": "\f3a7", + "file-play-fill": "\f3a8", + "file-play": "\f3a9", + "file-plus-fill": "\f3aa", + "file-plus": "\f3ab", + "file-post-fill": "\f3ac", + "file-post": "\f3ad", + "file-ppt-fill": "\f3ae", + "file-ppt": "\f3af", + "file-richtext-fill": "\f3b0", + "file-richtext": "\f3b1", + "file-ruled-fill": "\f3b2", + "file-ruled": "\f3b3", + "file-slides-fill": "\f3b4", + "file-slides": "\f3b5", + "file-spreadsheet-fill": "\f3b6", + "file-spreadsheet": "\f3b7", + "file-text-fill": "\f3b8", + "file-text": "\f3b9", + "file-word-fill": "\f3ba", + "file-word": "\f3bb", + "file-x-fill": "\f3bc", + "file-x": "\f3bd", + "file-zip-fill": "\f3be", + "file-zip": "\f3bf", + "file": "\f3c0", + "files-alt": "\f3c1", + "files": "\f3c2", + "film": "\f3c3", + "filter-circle-fill": "\f3c4", + "filter-circle": "\f3c5", + "filter-left": "\f3c6", + "filter-right": "\f3c7", + "filter-square-fill": "\f3c8", + "filter-square": "\f3c9", + "filter": "\f3ca", + "flag-fill": "\f3cb", + "flag": "\f3cc", + "flower1": "\f3cd", + "flower2": "\f3ce", + "flower3": "\f3cf", + "folder-check": "\f3d0", + "folder-fill": "\f3d1", + "folder-minus": "\f3d2", + "folder-plus": "\f3d3", + "folder-symlink-fill": "\f3d4", + "folder-symlink": "\f3d5", + "folder-x": "\f3d6", + "folder": "\f3d7", + "folder2-open": "\f3d8", + "folder2": "\f3d9", + "fonts": "\f3da", + "forward-fill": "\f3db", + "forward": "\f3dc", + "front": "\f3dd", + "fullscreen-exit": "\f3de", + "fullscreen": "\f3df", + "funnel-fill": "\f3e0", + "funnel": "\f3e1", + "gear-fill": "\f3e2", + "gear-wide-connected": "\f3e3", + "gear-wide": "\f3e4", + "gear": "\f3e5", + "gem": "\f3e6", + "geo-alt-fill": "\f3e7", + "geo-alt": "\f3e8", + "geo-fill": "\f3e9", + "geo": "\f3ea", + "gift-fill": "\f3eb", + "gift": "\f3ec", + "github": "\f3ed", + "globe": "\f3ee", + "globe2": "\f3ef", + "google": "\f3f0", + "graph-down": "\f3f1", + "graph-up": "\f3f2", + "grid-1x2-fill": "\f3f3", + "grid-1x2": "\f3f4", + "grid-3x2-gap-fill": "\f3f5", + "grid-3x2-gap": "\f3f6", + "grid-3x2": "\f3f7", + "grid-3x3-gap-fill": "\f3f8", + "grid-3x3-gap": "\f3f9", + "grid-3x3": "\f3fa", + "grid-fill": "\f3fb", + "grid": "\f3fc", + "grip-horizontal": "\f3fd", + "grip-vertical": "\f3fe", + "hammer": "\f3ff", + "hand-index-fill": "\f400", + "hand-index-thumb-fill": "\f401", + "hand-index-thumb": "\f402", + "hand-index": "\f403", + "hand-thumbs-down-fill": "\f404", + "hand-thumbs-down": "\f405", + "hand-thumbs-up-fill": "\f406", + "hand-thumbs-up": "\f407", + "handbag-fill": "\f408", + "handbag": "\f409", + "hash": "\f40a", + "hdd-fill": "\f40b", + "hdd-network-fill": "\f40c", + "hdd-network": "\f40d", + "hdd-rack-fill": "\f40e", + "hdd-rack": "\f40f", + "hdd-stack-fill": "\f410", + "hdd-stack": "\f411", + "hdd": "\f412", + "headphones": "\f413", + "headset": "\f414", + "heart-fill": "\f415", + "heart-half": "\f416", + "heart": "\f417", + "heptagon-fill": "\f418", + "heptagon-half": "\f419", + "heptagon": "\f41a", + "hexagon-fill": "\f41b", + "hexagon-half": "\f41c", + "hexagon": "\f41d", + "hourglass-bottom": "\f41e", + "hourglass-split": "\f41f", + "hourglass-top": "\f420", + "hourglass": "\f421", + "house-door-fill": "\f422", + "house-door": "\f423", + "house-fill": "\f424", + "house": "\f425", + "hr": "\f426", + "hurricane": "\f427", + "image-alt": "\f428", + "image-fill": "\f429", + "image": "\f42a", + "images": "\f42b", + "inbox-fill": "\f42c", + "inbox": "\f42d", + "inboxes-fill": "\f42e", + "inboxes": "\f42f", + "info-circle-fill": "\f430", + "info-circle": "\f431", + "info-square-fill": "\f432", + "info-square": "\f433", + "info": "\f434", + "input-cursor-text": "\f435", + "input-cursor": "\f436", + "instagram": "\f437", + "intersect": "\f438", + "journal-album": "\f439", + "journal-arrow-down": "\f43a", + "journal-arrow-up": "\f43b", + "journal-bookmark-fill": "\f43c", + "journal-bookmark": "\f43d", + "journal-check": "\f43e", + "journal-code": "\f43f", + "journal-medical": "\f440", + "journal-minus": "\f441", + "journal-plus": "\f442", + "journal-richtext": "\f443", + "journal-text": "\f444", + "journal-x": "\f445", + "journal": "\f446", + "journals": "\f447", + "joystick": "\f448", + "justify-left": "\f449", + "justify-right": "\f44a", + "justify": "\f44b", + "kanban-fill": "\f44c", + "kanban": "\f44d", + "key-fill": "\f44e", + "key": "\f44f", + "keyboard-fill": "\f450", + "keyboard": "\f451", + "ladder": "\f452", + "lamp-fill": "\f453", + "lamp": "\f454", + "laptop-fill": "\f455", + "laptop": "\f456", + "layer-backward": "\f457", + "layer-forward": "\f458", + "layers-fill": "\f459", + "layers-half": "\f45a", + "layers": "\f45b", + "layout-sidebar-inset-reverse": "\f45c", + "layout-sidebar-inset": "\f45d", + "layout-sidebar-reverse": "\f45e", + "layout-sidebar": "\f45f", + "layout-split": "\f460", + "layout-text-sidebar-reverse": "\f461", + "layout-text-sidebar": "\f462", + "layout-text-window-reverse": "\f463", + "layout-text-window": "\f464", + "layout-three-columns": "\f465", + "layout-wtf": "\f466", + "life-preserver": "\f467", + "lightbulb-fill": "\f468", + "lightbulb-off-fill": "\f469", + "lightbulb-off": "\f46a", + "lightbulb": "\f46b", + "lightning-charge-fill": "\f46c", + "lightning-charge": "\f46d", + "lightning-fill": "\f46e", + "lightning": "\f46f", + "link-45deg": "\f470", + "link": "\f471", + "linkedin": "\f472", + "list-check": "\f473", + "list-nested": "\f474", + "list-ol": "\f475", + "list-stars": "\f476", + "list-task": "\f477", + "list-ul": "\f478", + "list": "\f479", + "lock-fill": "\f47a", + "lock": "\f47b", + "mailbox": "\f47c", + "mailbox2": "\f47d", + "map-fill": "\f47e", + "map": "\f47f", + "markdown-fill": "\f480", + "markdown": "\f481", + "mask": "\f482", + "megaphone-fill": "\f483", + "megaphone": "\f484", + "menu-app-fill": "\f485", + "menu-app": "\f486", + "menu-button-fill": "\f487", + "menu-button-wide-fill": "\f488", + "menu-button-wide": "\f489", + "menu-button": "\f48a", + "menu-down": "\f48b", + "menu-up": "\f48c", + "mic-fill": "\f48d", + "mic-mute-fill": "\f48e", + "mic-mute": "\f48f", + "mic": "\f490", + "minecart-loaded": "\f491", + "minecart": "\f492", + "moisture": "\f493", + "moon-fill": "\f494", + "moon-stars-fill": "\f495", + "moon-stars": "\f496", + "moon": "\f497", + "mouse-fill": "\f498", + "mouse": "\f499", + "mouse2-fill": "\f49a", + "mouse2": "\f49b", + "mouse3-fill": "\f49c", + "mouse3": "\f49d", + "music-note-beamed": "\f49e", + "music-note-list": "\f49f", + "music-note": "\f4a0", + "music-player-fill": "\f4a1", + "music-player": "\f4a2", + "newspaper": "\f4a3", + "node-minus-fill": "\f4a4", + "node-minus": "\f4a5", + "node-plus-fill": "\f4a6", + "node-plus": "\f4a7", + "nut-fill": "\f4a8", + "nut": "\f4a9", + "octagon-fill": "\f4aa", + "octagon-half": "\f4ab", + "octagon": "\f4ac", + "option": "\f4ad", + "outlet": "\f4ae", + "paint-bucket": "\f4af", + "palette-fill": "\f4b0", + "palette": "\f4b1", + "palette2": "\f4b2", + "paperclip": "\f4b3", + "paragraph": "\f4b4", + "patch-check-fill": "\f4b5", + "patch-check": "\f4b6", + "patch-exclamation-fill": "\f4b7", + "patch-exclamation": "\f4b8", + "patch-minus-fill": "\f4b9", + "patch-minus": "\f4ba", + "patch-plus-fill": "\f4bb", + "patch-plus": "\f4bc", + "patch-question-fill": "\f4bd", + "patch-question": "\f4be", + "pause-btn-fill": "\f4bf", + "pause-btn": "\f4c0", + "pause-circle-fill": "\f4c1", + "pause-circle": "\f4c2", + "pause-fill": "\f4c3", + "pause": "\f4c4", + "peace-fill": "\f4c5", + "peace": "\f4c6", + "pen-fill": "\f4c7", + "pen": "\f4c8", + "pencil-fill": "\f4c9", + "pencil-square": "\f4ca", + "pencil": "\f4cb", + "pentagon-fill": "\f4cc", + "pentagon-half": "\f4cd", + "pentagon": "\f4ce", + "people-fill": "\f4cf", + "people": "\f4d0", + "percent": "\f4d1", + "person-badge-fill": "\f4d2", + "person-badge": "\f4d3", + "person-bounding-box": "\f4d4", + "person-check-fill": "\f4d5", + "person-check": "\f4d6", + "person-circle": "\f4d7", + "person-dash-fill": "\f4d8", + "person-dash": "\f4d9", + "person-fill": "\f4da", + "person-lines-fill": "\f4db", + "person-plus-fill": "\f4dc", + "person-plus": "\f4dd", + "person-square": "\f4de", + "person-x-fill": "\f4df", + "person-x": "\f4e0", + "person": "\f4e1", + "phone-fill": "\f4e2", + "phone-landscape-fill": "\f4e3", + "phone-landscape": "\f4e4", + "phone-vibrate-fill": "\f4e5", + "phone-vibrate": "\f4e6", + "phone": "\f4e7", + "pie-chart-fill": "\f4e8", + "pie-chart": "\f4e9", + "pin-angle-fill": "\f4ea", + "pin-angle": "\f4eb", + "pin-fill": "\f4ec", + "pin": "\f4ed", + "pip-fill": "\f4ee", + "pip": "\f4ef", + "play-btn-fill": "\f4f0", + "play-btn": "\f4f1", + "play-circle-fill": "\f4f2", + "play-circle": "\f4f3", + "play-fill": "\f4f4", + "play": "\f4f5", + "plug-fill": "\f4f6", + "plug": "\f4f7", + "plus-circle-dotted": "\f4f8", + "plus-circle-fill": "\f4f9", + "plus-circle": "\f4fa", + "plus-square-dotted": "\f4fb", + "plus-square-fill": "\f4fc", + "plus-square": "\f4fd", + "plus": "\f4fe", + "power": "\f4ff", + "printer-fill": "\f500", + "printer": "\f501", + "puzzle-fill": "\f502", + "puzzle": "\f503", + "question-circle-fill": "\f504", + "question-circle": "\f505", + "question-diamond-fill": "\f506", + "question-diamond": "\f507", + "question-octagon-fill": "\f508", + "question-octagon": "\f509", + "question-square-fill": "\f50a", + "question-square": "\f50b", + "question": "\f50c", + "rainbow": "\f50d", + "receipt-cutoff": "\f50e", + "receipt": "\f50f", + "reception-0": "\f510", + "reception-1": "\f511", + "reception-2": "\f512", + "reception-3": "\f513", + "reception-4": "\f514", + "record-btn-fill": "\f515", + "record-btn": "\f516", + "record-circle-fill": "\f517", + "record-circle": "\f518", + "record-fill": "\f519", + "record": "\f51a", + "record2-fill": "\f51b", + "record2": "\f51c", + "reply-all-fill": "\f51d", + "reply-all": "\f51e", + "reply-fill": "\f51f", + "reply": "\f520", + "rss-fill": "\f521", + "rss": "\f522", + "rulers": "\f523", + "save-fill": "\f524", + "save": "\f525", + "save2-fill": "\f526", + "save2": "\f527", + "scissors": "\f528", + "screwdriver": "\f529", + "search": "\f52a", + "segmented-nav": "\f52b", + "server": "\f52c", + "share-fill": "\f52d", + "share": "\f52e", + "shield-check": "\f52f", + "shield-exclamation": "\f530", + "shield-fill-check": "\f531", + "shield-fill-exclamation": "\f532", + "shield-fill-minus": "\f533", + "shield-fill-plus": "\f534", + "shield-fill-x": "\f535", + "shield-fill": "\f536", + "shield-lock-fill": "\f537", + "shield-lock": "\f538", + "shield-minus": "\f539", + "shield-plus": "\f53a", + "shield-shaded": "\f53b", + "shield-slash-fill": "\f53c", + "shield-slash": "\f53d", + "shield-x": "\f53e", + "shield": "\f53f", + "shift-fill": "\f540", + "shift": "\f541", + "shop-window": "\f542", + "shop": "\f543", + "shuffle": "\f544", + "signpost-2-fill": "\f545", + "signpost-2": "\f546", + "signpost-fill": "\f547", + "signpost-split-fill": "\f548", + "signpost-split": "\f549", + "signpost": "\f54a", + "sim-fill": "\f54b", + "sim": "\f54c", + "skip-backward-btn-fill": "\f54d", + "skip-backward-btn": "\f54e", + "skip-backward-circle-fill": "\f54f", + "skip-backward-circle": "\f550", + "skip-backward-fill": "\f551", + "skip-backward": "\f552", + "skip-end-btn-fill": "\f553", + "skip-end-btn": "\f554", + "skip-end-circle-fill": "\f555", + "skip-end-circle": "\f556", + "skip-end-fill": "\f557", + "skip-end": "\f558", + "skip-forward-btn-fill": "\f559", + "skip-forward-btn": "\f55a", + "skip-forward-circle-fill": "\f55b", + "skip-forward-circle": "\f55c", + "skip-forward-fill": "\f55d", + "skip-forward": "\f55e", + "skip-start-btn-fill": "\f55f", + "skip-start-btn": "\f560", + "skip-start-circle-fill": "\f561", + "skip-start-circle": "\f562", + "skip-start-fill": "\f563", + "skip-start": "\f564", + "slack": "\f565", + "slash-circle-fill": "\f566", + "slash-circle": "\f567", + "slash-square-fill": "\f568", + "slash-square": "\f569", + "slash": "\f56a", + "sliders": "\f56b", + "smartwatch": "\f56c", + "snow": "\f56d", + "snow2": "\f56e", + "snow3": "\f56f", + "sort-alpha-down-alt": "\f570", + "sort-alpha-down": "\f571", + "sort-alpha-up-alt": "\f572", + "sort-alpha-up": "\f573", + "sort-down-alt": "\f574", + "sort-down": "\f575", + "sort-numeric-down-alt": "\f576", + "sort-numeric-down": "\f577", + "sort-numeric-up-alt": "\f578", + "sort-numeric-up": "\f579", + "sort-up-alt": "\f57a", + "sort-up": "\f57b", + "soundwave": "\f57c", + "speaker-fill": "\f57d", + "speaker": "\f57e", + "speedometer": "\f57f", + "speedometer2": "\f580", + "spellcheck": "\f581", + "square-fill": "\f582", + "square-half": "\f583", + "square": "\f584", + "stack": "\f585", + "star-fill": "\f586", + "star-half": "\f587", + "star": "\f588", + "stars": "\f589", + "stickies-fill": "\f58a", + "stickies": "\f58b", + "sticky-fill": "\f58c", + "sticky": "\f58d", + "stop-btn-fill": "\f58e", + "stop-btn": "\f58f", + "stop-circle-fill": "\f590", + "stop-circle": "\f591", + "stop-fill": "\f592", + "stop": "\f593", + "stoplights-fill": "\f594", + "stoplights": "\f595", + "stopwatch-fill": "\f596", + "stopwatch": "\f597", + "subtract": "\f598", + "suit-club-fill": "\f599", + "suit-club": "\f59a", + "suit-diamond-fill": "\f59b", + "suit-diamond": "\f59c", + "suit-heart-fill": "\f59d", + "suit-heart": "\f59e", + "suit-spade-fill": "\f59f", + "suit-spade": "\f5a0", + "sun-fill": "\f5a1", + "sun": "\f5a2", + "sunglasses": "\f5a3", + "sunrise-fill": "\f5a4", + "sunrise": "\f5a5", + "sunset-fill": "\f5a6", + "sunset": "\f5a7", + "symmetry-horizontal": "\f5a8", + "symmetry-vertical": "\f5a9", + "table": "\f5aa", + "tablet-fill": "\f5ab", + "tablet-landscape-fill": "\f5ac", + "tablet-landscape": "\f5ad", + "tablet": "\f5ae", + "tag-fill": "\f5af", + "tag": "\f5b0", + "tags-fill": "\f5b1", + "tags": "\f5b2", + "telegram": "\f5b3", + "telephone-fill": "\f5b4", + "telephone-forward-fill": "\f5b5", + "telephone-forward": "\f5b6", + "telephone-inbound-fill": "\f5b7", + "telephone-inbound": "\f5b8", + "telephone-minus-fill": "\f5b9", + "telephone-minus": "\f5ba", + "telephone-outbound-fill": "\f5bb", + "telephone-outbound": "\f5bc", + "telephone-plus-fill": "\f5bd", + "telephone-plus": "\f5be", + "telephone-x-fill": "\f5bf", + "telephone-x": "\f5c0", + "telephone": "\f5c1", + "terminal-fill": "\f5c2", + "terminal": "\f5c3", + "text-center": "\f5c4", + "text-indent-left": "\f5c5", + "text-indent-right": "\f5c6", + "text-left": "\f5c7", + "text-paragraph": "\f5c8", + "text-right": "\f5c9", + "textarea-resize": "\f5ca", + "textarea-t": "\f5cb", + "textarea": "\f5cc", + "thermometer-half": "\f5cd", + "thermometer-high": "\f5ce", + "thermometer-low": "\f5cf", + "thermometer-snow": "\f5d0", + "thermometer-sun": "\f5d1", + "thermometer": "\f5d2", + "three-dots-vertical": "\f5d3", + "three-dots": "\f5d4", + "toggle-off": "\f5d5", + "toggle-on": "\f5d6", + "toggle2-off": "\f5d7", + "toggle2-on": "\f5d8", + "toggles": "\f5d9", + "toggles2": "\f5da", + "tools": "\f5db", + "tornado": "\f5dc", + "trash-fill": "\f5dd", + "trash": "\f5de", + "trash2-fill": "\f5df", + "trash2": "\f5e0", + "tree-fill": "\f5e1", + "tree": "\f5e2", + "triangle-fill": "\f5e3", + "triangle-half": "\f5e4", + "triangle": "\f5e5", + "trophy-fill": "\f5e6", + "trophy": "\f5e7", + "tropical-storm": "\f5e8", + "truck-flatbed": "\f5e9", + "truck": "\f5ea", + "tsunami": "\f5eb", + "tv-fill": "\f5ec", + "tv": "\f5ed", + "twitch": "\f5ee", + "twitter": "\f5ef", + "type-bold": "\f5f0", + "type-h1": "\f5f1", + "type-h2": "\f5f2", + "type-h3": "\f5f3", + "type-italic": "\f5f4", + "type-strikethrough": "\f5f5", + "type-underline": "\f5f6", + "type": "\f5f7", + "ui-checks-grid": "\f5f8", + "ui-checks": "\f5f9", + "ui-radios-grid": "\f5fa", + "ui-radios": "\f5fb", + "umbrella-fill": "\f5fc", + "umbrella": "\f5fd", + "union": "\f5fe", + "unlock-fill": "\f5ff", + "unlock": "\f600", + "upc-scan": "\f601", + "upc": "\f602", + "upload": "\f603", + "vector-pen": "\f604", + "view-list": "\f605", + "view-stacked": "\f606", + "vinyl-fill": "\f607", + "vinyl": "\f608", + "voicemail": "\f609", + "volume-down-fill": "\f60a", + "volume-down": "\f60b", + "volume-mute-fill": "\f60c", + "volume-mute": "\f60d", + "volume-off-fill": "\f60e", + "volume-off": "\f60f", + "volume-up-fill": "\f610", + "volume-up": "\f611", + "vr": "\f612", + "wallet-fill": "\f613", + "wallet": "\f614", + "wallet2": "\f615", + "watch": "\f616", + "water": "\f617", + "whatsapp": "\f618", + "wifi-1": "\f619", + "wifi-2": "\f61a", + "wifi-off": "\f61b", + "wifi": "\f61c", + "wind": "\f61d", + "window-dock": "\f61e", + "window-sidebar": "\f61f", + "window": "\f620", + "wrench": "\f621", + "x-circle-fill": "\f622", + "x-circle": "\f623", + "x-diamond-fill": "\f624", + "x-diamond": "\f625", + "x-octagon-fill": "\f626", + "x-octagon": "\f627", + "x-square-fill": "\f628", + "x-square": "\f629", + "x": "\f62a", + "youtube": "\f62b", + "zoom-in": "\f62c", + "zoom-out": "\f62d", + "bank": "\f62e", + "bank2": "\f62f", + "bell-slash-fill": "\f630", + "bell-slash": "\f631", + "cash-coin": "\f632", + "check-lg": "\f633", + "coin": "\f634", + "currency-bitcoin": "\f635", + "currency-dollar": "\f636", + "currency-euro": "\f637", + "currency-exchange": "\f638", + "currency-pound": "\f639", + "currency-yen": "\f63a", + "dash-lg": "\f63b", + "exclamation-lg": "\f63c", + "file-earmark-pdf-fill": "\f63d", + "file-earmark-pdf": "\f63e", + "file-pdf-fill": "\f63f", + "file-pdf": "\f640", + "gender-ambiguous": "\f641", + "gender-female": "\f642", + "gender-male": "\f643", + "gender-trans": "\f644", + "headset-vr": "\f645", + "info-lg": "\f646", + "mastodon": "\f647", + "messenger": "\f648", + "piggy-bank-fill": "\f649", + "piggy-bank": "\f64a", + "pin-map-fill": "\f64b", + "pin-map": "\f64c", + "plus-lg": "\f64d", + "question-lg": "\f64e", + "recycle": "\f64f", + "reddit": "\f650", + "safe-fill": "\f651", + "safe2-fill": "\f652", + "safe2": "\f653", + "sd-card-fill": "\f654", + "sd-card": "\f655", + "skype": "\f656", + "slash-lg": "\f657", + "translate": "\f658", + "x-lg": "\f659", + "safe": "\f65a", + "apple": "\f65b", + "microsoft": "\f65d", + "windows": "\f65e", + "behance": "\f65c", + "dribbble": "\f65f", + "line": "\f660", + "medium": "\f661", + "paypal": "\f662", + "pinterest": "\f663", + "signal": "\f664", + "snapchat": "\f665", + "spotify": "\f666", + "stack-overflow": "\f667", + "strava": "\f668", + "wordpress": "\f669", + "vimeo": "\f66a", + "activity": "\f66b", + "easel2-fill": "\f66c", + "easel2": "\f66d", + "easel3-fill": "\f66e", + "easel3": "\f66f", + "fan": "\f670", + "fingerprint": "\f671", + "graph-down-arrow": "\f672", + "graph-up-arrow": "\f673", + "hypnotize": "\f674", + "magic": "\f675", + "person-rolodex": "\f676", + "person-video": "\f677", + "person-video2": "\f678", + "person-video3": "\f679", + "person-workspace": "\f67a", + "radioactive": "\f67b", + "webcam-fill": "\f67c", + "webcam": "\f67d", + "yin-yang": "\f67e", + "bandaid-fill": "\f680", + "bandaid": "\f681", + "bluetooth": "\f682", + "body-text": "\f683", + "boombox": "\f684", + "boxes": "\f685", + "dpad-fill": "\f686", + "dpad": "\f687", + "ear-fill": "\f688", + "ear": "\f689", + "envelope-check-1": "\f68a", + "envelope-check-fill": "\f68b", + "envelope-check": "\f68c", + "envelope-dash-1": "\f68d", + "envelope-dash-fill": "\f68e", + "envelope-dash": "\f68f", + "envelope-exclamation-1": "\f690", + "envelope-exclamation-fill": "\f691", + "envelope-exclamation": "\f692", + "envelope-plus-fill": "\f693", + "envelope-plus": "\f694", + "envelope-slash-1": "\f695", + "envelope-slash-fill": "\f696", + "envelope-slash": "\f697", + "envelope-x-1": "\f698", + "envelope-x-fill": "\f699", + "envelope-x": "\f69a", + "explicit-fill": "\f69b", + "explicit": "\f69c", + "git": "\f69d", + "infinity": "\f69e", + "list-columns-reverse": "\f69f", + "list-columns": "\f6a0", + "meta": "\f6a1", + "mortorboard-fill": "\f6a2", + "mortorboard": "\f6a3", + "nintendo-switch": "\f6a4", + "pc-display-horizontal": "\f6a5", + "pc-display": "\f6a6", + "pc-horizontal": "\f6a7", + "pc": "\f6a8", + "playstation": "\f6a9", + "plus-slash-minus": "\f6aa", + "projector-fill": "\f6ab", + "projector": "\f6ac", + "qr-code-scan": "\f6ad", + "qr-code": "\f6ae", + "quora": "\f6af", + "quote": "\f6b0", + "robot": "\f6b1", + "send-check-fill": "\f6b2", + "send-check": "\f6b3", + "send-dash-fill": "\f6b4", + "send-dash": "\f6b5", + "send-exclamation-1": "\f6b6", + "send-exclamation-fill": "\f6b7", + "send-exclamation": "\f6b8", + "send-fill": "\f6b9", + "send-plus-fill": "\f6ba", + "send-plus": "\f6bb", + "send-slash-fill": "\f6bc", + "send-slash": "\f6bd", + "send-x-fill": "\f6be", + "send-x": "\f6bf", + "send": "\f6c0", + "steam": "\f6c1", + "terminal-dash-1": "\f6c2", + "terminal-dash": "\f6c3", + "terminal-plus": "\f6c4", + "terminal-split": "\f6c5", + "ticket-detailed-fill": "\f6c6", + "ticket-detailed": "\f6c7", + "ticket-fill": "\f6c8", + "ticket-perforated-fill": "\f6c9", + "ticket-perforated": "\f6ca", + "ticket": "\f6cb", + "tiktok": "\f6cc", + "window-dash": "\f6cd", + "window-desktop": "\f6ce", + "window-fullscreen": "\f6cf", + "window-plus": "\f6d0", + "window-split": "\f6d1", + "window-stack": "\f6d2", + "window-x": "\f6d3", + "xbox": "\f6d4", + "ethernet": "\f6d5", + "hdmi-fill": "\f6d6", + "hdmi": "\f6d7", + "usb-c-fill": "\f6d8", + "usb-c": "\f6d9", + "usb-fill": "\f6da", + "usb-plug-fill": "\f6db", + "usb-plug": "\f6dc", + "usb-symbol": "\f6dd", + "usb": "\f6de", + "boombox-fill": "\f6df", + "displayport-1": "\f6e0", + "displayport": "\f6e1", + "gpu-card": "\f6e2", + "memory": "\f6e3", + "modem-fill": "\f6e4", + "modem": "\f6e5", + "motherboard-fill": "\f6e6", + "motherboard": "\f6e7", + "optical-audio-fill": "\f6e8", + "optical-audio": "\f6e9", + "pci-card": "\f6ea", + "router-fill": "\f6eb", + "router": "\f6ec", + "ssd-fill": "\f6ed", + "ssd": "\f6ee", + "thunderbolt-fill": "\f6ef", + "thunderbolt": "\f6f0", + "usb-drive-fill": "\f6f1", + "usb-drive": "\f6f2", + "usb-micro-fill": "\f6f3", + "usb-micro": "\f6f4", + "usb-mini-fill": "\f6f5", + "usb-mini": "\f6f6", + "cloud-haze2": "\f6f7", + "device-hdd-fill": "\f6f8", + "device-hdd": "\f6f9", + "device-ssd-fill": "\f6fa", + "device-ssd": "\f6fb", + "displayport-fill": "\f6fc", + "mortarboard-fill": "\f6fd", + "mortarboard": "\f6fe", + "terminal-x": "\f6ff", + "arrow-through-heart-fill": "\f700", + "arrow-through-heart": "\f701", + "badge-sd-fill": "\f702", + "badge-sd": "\f703", + "bag-heart-fill": "\f704", + "bag-heart": "\f705", + "balloon-fill": "\f706", + "balloon-heart-fill": "\f707", + "balloon-heart": "\f708", + "balloon": "\f709", + "box2-fill": "\f70a", + "box2-heart-fill": "\f70b", + "box2-heart": "\f70c", + "box2": "\f70d", + "braces-asterisk": "\f70e", + "calendar-heart-fill": "\f70f", + "calendar-heart": "\f710", + "calendar2-heart-fill": "\f711", + "calendar2-heart": "\f712", + "chat-heart-fill": "\f713", + "chat-heart": "\f714", + "chat-left-heart-fill": "\f715", + "chat-left-heart": "\f716", + "chat-right-heart-fill": "\f717", + "chat-right-heart": "\f718", + "chat-square-heart-fill": "\f719", + "chat-square-heart": "\f71a", + "clipboard-check-fill": "\f71b", + "clipboard-data-fill": "\f71c", + "clipboard-fill": "\f71d", + "clipboard-heart-fill": "\f71e", + "clipboard-heart": "\f71f", + "clipboard-minus-fill": "\f720", + "clipboard-plus-fill": "\f721", + "clipboard-pulse": "\f722", + "clipboard-x-fill": "\f723", + "clipboard2-check-fill": "\f724", + "clipboard2-check": "\f725", + "clipboard2-data-fill": "\f726", + "clipboard2-data": "\f727", + "clipboard2-fill": "\f728", + "clipboard2-heart-fill": "\f729", + "clipboard2-heart": "\f72a", + "clipboard2-minus-fill": "\f72b", + "clipboard2-minus": "\f72c", + "clipboard2-plus-fill": "\f72d", + "clipboard2-plus": "\f72e", + "clipboard2-pulse-fill": "\f72f", + "clipboard2-pulse": "\f730", + "clipboard2-x-fill": "\f731", + "clipboard2-x": "\f732", + "clipboard2": "\f733", + "emoji-kiss-fill": "\f734", + "emoji-kiss": "\f735", + "envelope-heart-fill": "\f736", + "envelope-heart": "\f737", + "envelope-open-heart-fill": "\f738", + "envelope-open-heart": "\f739", + "envelope-paper-fill": "\f73a", + "envelope-paper-heart-fill": "\f73b", + "envelope-paper-heart": "\f73c", + "envelope-paper": "\f73d", + "filetype-aac": "\f73e", + "filetype-ai": "\f73f", + "filetype-bmp": "\f740", + "filetype-cs": "\f741", + "filetype-css": "\f742", + "filetype-csv": "\f743", + "filetype-doc": "\f744", + "filetype-docx": "\f745", + "filetype-exe": "\f746", + "filetype-gif": "\f747", + "filetype-heic": "\f748", + "filetype-html": "\f749", + "filetype-java": "\f74a", + "filetype-jpg": "\f74b", + "filetype-js": "\f74c", + "filetype-jsx": "\f74d", + "filetype-key": "\f74e", + "filetype-m4p": "\f74f", + "filetype-md": "\f750", + "filetype-mdx": "\f751", + "filetype-mov": "\f752", + "filetype-mp3": "\f753", + "filetype-mp4": "\f754", + "filetype-otf": "\f755", + "filetype-pdf": "\f756", + "filetype-php": "\f757", + "filetype-png": "\f758", + "filetype-ppt-1": "\f759", + "filetype-ppt": "\f75a", + "filetype-psd": "\f75b", + "filetype-py": "\f75c", + "filetype-raw": "\f75d", + "filetype-rb": "\f75e", + "filetype-sass": "\f75f", + "filetype-scss": "\f760", + "filetype-sh": "\f761", + "filetype-svg": "\f762", + "filetype-tiff": "\f763", + "filetype-tsx": "\f764", + "filetype-ttf": "\f765", + "filetype-txt": "\f766", + "filetype-wav": "\f767", + "filetype-woff": "\f768", + "filetype-xls-1": "\f769", + "filetype-xls": "\f76a", + "filetype-xml": "\f76b", + "filetype-yml": "\f76c", + "heart-arrow": "\f76d", + "heart-pulse-fill": "\f76e", + "heart-pulse": "\f76f", + "heartbreak-fill": "\f770", + "heartbreak": "\f771", + "hearts": "\f772", + "hospital-fill": "\f773", + "hospital": "\f774", + "house-heart-fill": "\f775", + "house-heart": "\f776", + "incognito": "\f777", + "magnet-fill": "\f778", + "magnet": "\f779", + "person-heart": "\f77a", + "person-hearts": "\f77b", + "phone-flip": "\f77c", + "plugin": "\f77d", + "postage-fill": "\f77e", + "postage-heart-fill": "\f77f", + "postage-heart": "\f780", + "postage": "\f781", + "postcard-fill": "\f782", + "postcard-heart-fill": "\f783", + "postcard-heart": "\f784", + "postcard": "\f785", + "search-heart-fill": "\f786", + "search-heart": "\f787", + "sliders2-vertical": "\f788", + "sliders2": "\f789", + "trash3-fill": "\f78a", + "trash3": "\f78b", + "valentine": "\f78c", + "valentine2": "\f78d", + "wrench-adjustable-circle-fill": "\f78e", + "wrench-adjustable-circle": "\f78f", + "wrench-adjustable": "\f790", + "filetype-json": "\f791", + "filetype-pptx": "\f792", + "filetype-xlsx": "\f793", + "1-circle-1": "\f794", + "1-circle-fill-1": "\f795", + "1-circle-fill": "\f796", + "1-circle": "\f797", + "1-square-fill": "\f798", + "1-square": "\f799", + "2-circle-1": "\f79a", + "2-circle-fill-1": "\f79b", + "2-circle-fill": "\f79c", + "2-circle": "\f79d", + "2-square-fill": "\f79e", + "2-square": "\f79f", + "3-circle-1": "\f7a0", + "3-circle-fill-1": "\f7a1", + "3-circle-fill": "\f7a2", + "3-circle": "\f7a3", + "3-square-fill": "\f7a4", + "3-square": "\f7a5", + "4-circle-1": "\f7a6", + "4-circle-fill-1": "\f7a7", + "4-circle-fill": "\f7a8", + "4-circle": "\f7a9", + "4-square-fill": "\f7aa", + "4-square": "\f7ab", + "5-circle-1": "\f7ac", + "5-circle-fill-1": "\f7ad", + "5-circle-fill": "\f7ae", + "5-circle": "\f7af", + "5-square-fill": "\f7b0", + "5-square": "\f7b1", + "6-circle-1": "\f7b2", + "6-circle-fill-1": "\f7b3", + "6-circle-fill": "\f7b4", + "6-circle": "\f7b5", + "6-square-fill": "\f7b6", + "6-square": "\f7b7", + "7-circle-1": "\f7b8", + "7-circle-fill-1": "\f7b9", + "7-circle-fill": "\f7ba", + "7-circle": "\f7bb", + "7-square-fill": "\f7bc", + "7-square": "\f7bd", + "8-circle-1": "\f7be", + "8-circle-fill-1": "\f7bf", + "8-circle-fill": "\f7c0", + "8-circle": "\f7c1", + "8-square-fill": "\f7c2", + "8-square": "\f7c3", + "9-circle-1": "\f7c4", + "9-circle-fill-1": "\f7c5", + "9-circle-fill": "\f7c6", + "9-circle": "\f7c7", + "9-square-fill": "\f7c8", + "9-square": "\f7c9", + "airplane-engines-fill": "\f7ca", + "airplane-engines": "\f7cb", + "airplane-fill": "\f7cc", + "airplane": "\f7cd", + "alexa": "\f7ce", + "alipay": "\f7cf", + "android": "\f7d0", + "android2": "\f7d1", + "box-fill": "\f7d2", + "box-seam-fill": "\f7d3", + "browser-chrome": "\f7d4", + "browser-edge": "\f7d5", + "browser-firefox": "\f7d6", + "browser-safari": "\f7d7", + "c-circle-1": "\f7d8", + "c-circle-fill-1": "\f7d9", + "c-circle-fill": "\f7da", + "c-circle": "\f7db", + "c-square-fill": "\f7dc", + "c-square": "\f7dd", + "capsule-pill": "\f7de", + "capsule": "\f7df", + "car-front-fill": "\f7e0", + "car-front": "\f7e1", + "cassette-fill": "\f7e2", + "cassette": "\f7e3", + "cc-circle-1": "\f7e4", + "cc-circle-fill-1": "\f7e5", + "cc-circle-fill": "\f7e6", + "cc-circle": "\f7e7", + "cc-square-fill": "\f7e8", + "cc-square": "\f7e9", + "cup-hot-fill": "\f7ea", + "cup-hot": "\f7eb", + "currency-rupee": "\f7ec", + "dropbox": "\f7ed", + "escape": "\f7ee", + "fast-forward-btn-fill": "\f7ef", + "fast-forward-btn": "\f7f0", + "fast-forward-circle-fill": "\f7f1", + "fast-forward-circle": "\f7f2", + "fast-forward-fill": "\f7f3", + "fast-forward": "\f7f4", + "filetype-sql": "\f7f5", + "fire": "\f7f6", + "google-play": "\f7f7", + "h-circle-1": "\f7f8", + "h-circle-fill-1": "\f7f9", + "h-circle-fill": "\f7fa", + "h-circle": "\f7fb", + "h-square-fill": "\f7fc", + "h-square": "\f7fd", + "indent": "\f7fe", + "lungs-fill": "\f7ff", + "lungs": "\f800", + "microsoft-teams": "\f801", + "p-circle-1": "\f802", + "p-circle-fill-1": "\f803", + "p-circle-fill": "\f804", + "p-circle": "\f805", + "p-square-fill": "\f806", + "p-square": "\f807", + "pass-fill": "\f808", + "pass": "\f809", + "prescription": "\f80a", + "prescription2": "\f80b", + "r-circle-1": "\f80c", + "r-circle-fill-1": "\f80d", + "r-circle-fill": "\f80e", + "r-circle": "\f80f", + "r-square-fill": "\f810", + "r-square": "\f811", + "repeat-1": "\f812", + "repeat": "\f813", + "rewind-btn-fill": "\f814", + "rewind-btn": "\f815", + "rewind-circle-fill": "\f816", + "rewind-circle": "\f817", + "rewind-fill": "\f818", + "rewind": "\f819", + "train-freight-front-fill": "\f81a", + "train-freight-front": "\f81b", + "train-front-fill": "\f81c", + "train-front": "\f81d", + "train-lightrail-front-fill": "\f81e", + "train-lightrail-front": "\f81f", + "truck-front-fill": "\f820", + "truck-front": "\f821", + "ubuntu": "\f822", + "unindent": "\f823", + "unity": "\f824", + "universal-access-circle": "\f825", + "universal-access": "\f826", + "virus": "\f827", + "virus2": "\f828", + "wechat": "\f829", + "yelp": "\f82a", + "sign-stop-fill": "\f82b", + "sign-stop-lights-fill": "\f82c", + "sign-stop-lights": "\f82d", + "sign-stop": "\f82e", + "sign-turn-left-fill": "\f82f", + "sign-turn-left": "\f830", + "sign-turn-right-fill": "\f831", + "sign-turn-right": "\f832", + "sign-turn-slight-left-fill": "\f833", + "sign-turn-slight-left": "\f834", + "sign-turn-slight-right-fill": "\f835", + "sign-turn-slight-right": "\f836", + "sign-yield-fill": "\f837", + "sign-yield": "\f838", + "ev-station-fill": "\f839", + "ev-station": "\f83a", + "fuel-pump-diesel-fill": "\f83b", + "fuel-pump-diesel": "\f83c", + "fuel-pump-fill": "\f83d", + "fuel-pump": "\f83e", +); + +.bi-123::before { content: map-get($bootstrap-icons-map, "123"); } +.bi-alarm-fill::before { content: map-get($bootstrap-icons-map, "alarm-fill"); } +.bi-alarm::before { content: map-get($bootstrap-icons-map, "alarm"); } +.bi-align-bottom::before { content: map-get($bootstrap-icons-map, "align-bottom"); } +.bi-align-center::before { content: map-get($bootstrap-icons-map, "align-center"); } +.bi-align-end::before { content: map-get($bootstrap-icons-map, "align-end"); } +.bi-align-middle::before { content: map-get($bootstrap-icons-map, "align-middle"); } +.bi-align-start::before { content: map-get($bootstrap-icons-map, "align-start"); } +.bi-align-top::before { content: map-get($bootstrap-icons-map, "align-top"); } +.bi-alt::before { content: map-get($bootstrap-icons-map, "alt"); } +.bi-app-indicator::before { content: map-get($bootstrap-icons-map, "app-indicator"); } +.bi-app::before { content: map-get($bootstrap-icons-map, "app"); } +.bi-archive-fill::before { content: map-get($bootstrap-icons-map, "archive-fill"); } +.bi-archive::before { content: map-get($bootstrap-icons-map, "archive"); } +.bi-arrow-90deg-down::before { content: map-get($bootstrap-icons-map, "arrow-90deg-down"); } +.bi-arrow-90deg-left::before { content: map-get($bootstrap-icons-map, "arrow-90deg-left"); } +.bi-arrow-90deg-right::before { content: map-get($bootstrap-icons-map, "arrow-90deg-right"); } +.bi-arrow-90deg-up::before { content: map-get($bootstrap-icons-map, "arrow-90deg-up"); } +.bi-arrow-bar-down::before { content: map-get($bootstrap-icons-map, "arrow-bar-down"); } +.bi-arrow-bar-left::before { content: map-get($bootstrap-icons-map, "arrow-bar-left"); } +.bi-arrow-bar-right::before { content: map-get($bootstrap-icons-map, "arrow-bar-right"); } +.bi-arrow-bar-up::before { content: map-get($bootstrap-icons-map, "arrow-bar-up"); } +.bi-arrow-clockwise::before { content: map-get($bootstrap-icons-map, "arrow-clockwise"); } +.bi-arrow-counterclockwise::before { content: map-get($bootstrap-icons-map, "arrow-counterclockwise"); } +.bi-arrow-down-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-circle-fill"); } +.bi-arrow-down-circle::before { content: map-get($bootstrap-icons-map, "arrow-down-circle"); } +.bi-arrow-down-left-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-left-circle-fill"); } +.bi-arrow-down-left-circle::before { content: map-get($bootstrap-icons-map, "arrow-down-left-circle"); } +.bi-arrow-down-left-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-left-square-fill"); } +.bi-arrow-down-left-square::before { content: map-get($bootstrap-icons-map, "arrow-down-left-square"); } +.bi-arrow-down-left::before { content: map-get($bootstrap-icons-map, "arrow-down-left"); } +.bi-arrow-down-right-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-right-circle-fill"); } +.bi-arrow-down-right-circle::before { content: map-get($bootstrap-icons-map, "arrow-down-right-circle"); } +.bi-arrow-down-right-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-right-square-fill"); } +.bi-arrow-down-right-square::before { content: map-get($bootstrap-icons-map, "arrow-down-right-square"); } +.bi-arrow-down-right::before { content: map-get($bootstrap-icons-map, "arrow-down-right"); } +.bi-arrow-down-short::before { content: map-get($bootstrap-icons-map, "arrow-down-short"); } +.bi-arrow-down-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-square-fill"); } +.bi-arrow-down-square::before { content: map-get($bootstrap-icons-map, "arrow-down-square"); } +.bi-arrow-down-up::before { content: map-get($bootstrap-icons-map, "arrow-down-up"); } +.bi-arrow-down::before { content: map-get($bootstrap-icons-map, "arrow-down"); } +.bi-arrow-left-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-left-circle-fill"); } +.bi-arrow-left-circle::before { content: map-get($bootstrap-icons-map, "arrow-left-circle"); } +.bi-arrow-left-right::before { content: map-get($bootstrap-icons-map, "arrow-left-right"); } +.bi-arrow-left-short::before { content: map-get($bootstrap-icons-map, "arrow-left-short"); } +.bi-arrow-left-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-left-square-fill"); } +.bi-arrow-left-square::before { content: map-get($bootstrap-icons-map, "arrow-left-square"); } +.bi-arrow-left::before { content: map-get($bootstrap-icons-map, "arrow-left"); } +.bi-arrow-repeat::before { content: map-get($bootstrap-icons-map, "arrow-repeat"); } +.bi-arrow-return-left::before { content: map-get($bootstrap-icons-map, "arrow-return-left"); } +.bi-arrow-return-right::before { content: map-get($bootstrap-icons-map, "arrow-return-right"); } +.bi-arrow-right-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-right-circle-fill"); } +.bi-arrow-right-circle::before { content: map-get($bootstrap-icons-map, "arrow-right-circle"); } +.bi-arrow-right-short::before { content: map-get($bootstrap-icons-map, "arrow-right-short"); } +.bi-arrow-right-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-right-square-fill"); } +.bi-arrow-right-square::before { content: map-get($bootstrap-icons-map, "arrow-right-square"); } +.bi-arrow-right::before { content: map-get($bootstrap-icons-map, "arrow-right"); } +.bi-arrow-up-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-circle-fill"); } +.bi-arrow-up-circle::before { content: map-get($bootstrap-icons-map, "arrow-up-circle"); } +.bi-arrow-up-left-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-left-circle-fill"); } +.bi-arrow-up-left-circle::before { content: map-get($bootstrap-icons-map, "arrow-up-left-circle"); } +.bi-arrow-up-left-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-left-square-fill"); } +.bi-arrow-up-left-square::before { content: map-get($bootstrap-icons-map, "arrow-up-left-square"); } +.bi-arrow-up-left::before { content: map-get($bootstrap-icons-map, "arrow-up-left"); } +.bi-arrow-up-right-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-right-circle-fill"); } +.bi-arrow-up-right-circle::before { content: map-get($bootstrap-icons-map, "arrow-up-right-circle"); } +.bi-arrow-up-right-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-right-square-fill"); } +.bi-arrow-up-right-square::before { content: map-get($bootstrap-icons-map, "arrow-up-right-square"); } +.bi-arrow-up-right::before { content: map-get($bootstrap-icons-map, "arrow-up-right"); } +.bi-arrow-up-short::before { content: map-get($bootstrap-icons-map, "arrow-up-short"); } +.bi-arrow-up-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-square-fill"); } +.bi-arrow-up-square::before { content: map-get($bootstrap-icons-map, "arrow-up-square"); } +.bi-arrow-up::before { content: map-get($bootstrap-icons-map, "arrow-up"); } +.bi-arrows-angle-contract::before { content: map-get($bootstrap-icons-map, "arrows-angle-contract"); } +.bi-arrows-angle-expand::before { content: map-get($bootstrap-icons-map, "arrows-angle-expand"); } +.bi-arrows-collapse::before { content: map-get($bootstrap-icons-map, "arrows-collapse"); } +.bi-arrows-expand::before { content: map-get($bootstrap-icons-map, "arrows-expand"); } +.bi-arrows-fullscreen::before { content: map-get($bootstrap-icons-map, "arrows-fullscreen"); } +.bi-arrows-move::before { content: map-get($bootstrap-icons-map, "arrows-move"); } +.bi-aspect-ratio-fill::before { content: map-get($bootstrap-icons-map, "aspect-ratio-fill"); } +.bi-aspect-ratio::before { content: map-get($bootstrap-icons-map, "aspect-ratio"); } +.bi-asterisk::before { content: map-get($bootstrap-icons-map, "asterisk"); } +.bi-at::before { content: map-get($bootstrap-icons-map, "at"); } +.bi-award-fill::before { content: map-get($bootstrap-icons-map, "award-fill"); } +.bi-award::before { content: map-get($bootstrap-icons-map, "award"); } +.bi-back::before { content: map-get($bootstrap-icons-map, "back"); } +.bi-backspace-fill::before { content: map-get($bootstrap-icons-map, "backspace-fill"); } +.bi-backspace-reverse-fill::before { content: map-get($bootstrap-icons-map, "backspace-reverse-fill"); } +.bi-backspace-reverse::before { content: map-get($bootstrap-icons-map, "backspace-reverse"); } +.bi-backspace::before { content: map-get($bootstrap-icons-map, "backspace"); } +.bi-badge-3d-fill::before { content: map-get($bootstrap-icons-map, "badge-3d-fill"); } +.bi-badge-3d::before { content: map-get($bootstrap-icons-map, "badge-3d"); } +.bi-badge-4k-fill::before { content: map-get($bootstrap-icons-map, "badge-4k-fill"); } +.bi-badge-4k::before { content: map-get($bootstrap-icons-map, "badge-4k"); } +.bi-badge-8k-fill::before { content: map-get($bootstrap-icons-map, "badge-8k-fill"); } +.bi-badge-8k::before { content: map-get($bootstrap-icons-map, "badge-8k"); } +.bi-badge-ad-fill::before { content: map-get($bootstrap-icons-map, "badge-ad-fill"); } +.bi-badge-ad::before { content: map-get($bootstrap-icons-map, "badge-ad"); } +.bi-badge-ar-fill::before { content: map-get($bootstrap-icons-map, "badge-ar-fill"); } +.bi-badge-ar::before { content: map-get($bootstrap-icons-map, "badge-ar"); } +.bi-badge-cc-fill::before { content: map-get($bootstrap-icons-map, "badge-cc-fill"); } +.bi-badge-cc::before { content: map-get($bootstrap-icons-map, "badge-cc"); } +.bi-badge-hd-fill::before { content: map-get($bootstrap-icons-map, "badge-hd-fill"); } +.bi-badge-hd::before { content: map-get($bootstrap-icons-map, "badge-hd"); } +.bi-badge-tm-fill::before { content: map-get($bootstrap-icons-map, "badge-tm-fill"); } +.bi-badge-tm::before { content: map-get($bootstrap-icons-map, "badge-tm"); } +.bi-badge-vo-fill::before { content: map-get($bootstrap-icons-map, "badge-vo-fill"); } +.bi-badge-vo::before { content: map-get($bootstrap-icons-map, "badge-vo"); } +.bi-badge-vr-fill::before { content: map-get($bootstrap-icons-map, "badge-vr-fill"); } +.bi-badge-vr::before { content: map-get($bootstrap-icons-map, "badge-vr"); } +.bi-badge-wc-fill::before { content: map-get($bootstrap-icons-map, "badge-wc-fill"); } +.bi-badge-wc::before { content: map-get($bootstrap-icons-map, "badge-wc"); } +.bi-bag-check-fill::before { content: map-get($bootstrap-icons-map, "bag-check-fill"); } +.bi-bag-check::before { content: map-get($bootstrap-icons-map, "bag-check"); } +.bi-bag-dash-fill::before { content: map-get($bootstrap-icons-map, "bag-dash-fill"); } +.bi-bag-dash::before { content: map-get($bootstrap-icons-map, "bag-dash"); } +.bi-bag-fill::before { content: map-get($bootstrap-icons-map, "bag-fill"); } +.bi-bag-plus-fill::before { content: map-get($bootstrap-icons-map, "bag-plus-fill"); } +.bi-bag-plus::before { content: map-get($bootstrap-icons-map, "bag-plus"); } +.bi-bag-x-fill::before { content: map-get($bootstrap-icons-map, "bag-x-fill"); } +.bi-bag-x::before { content: map-get($bootstrap-icons-map, "bag-x"); } +.bi-bag::before { content: map-get($bootstrap-icons-map, "bag"); } +.bi-bar-chart-fill::before { content: map-get($bootstrap-icons-map, "bar-chart-fill"); } +.bi-bar-chart-line-fill::before { content: map-get($bootstrap-icons-map, "bar-chart-line-fill"); } +.bi-bar-chart-line::before { content: map-get($bootstrap-icons-map, "bar-chart-line"); } +.bi-bar-chart-steps::before { content: map-get($bootstrap-icons-map, "bar-chart-steps"); } +.bi-bar-chart::before { content: map-get($bootstrap-icons-map, "bar-chart"); } +.bi-basket-fill::before { content: map-get($bootstrap-icons-map, "basket-fill"); } +.bi-basket::before { content: map-get($bootstrap-icons-map, "basket"); } +.bi-basket2-fill::before { content: map-get($bootstrap-icons-map, "basket2-fill"); } +.bi-basket2::before { content: map-get($bootstrap-icons-map, "basket2"); } +.bi-basket3-fill::before { content: map-get($bootstrap-icons-map, "basket3-fill"); } +.bi-basket3::before { content: map-get($bootstrap-icons-map, "basket3"); } +.bi-battery-charging::before { content: map-get($bootstrap-icons-map, "battery-charging"); } +.bi-battery-full::before { content: map-get($bootstrap-icons-map, "battery-full"); } +.bi-battery-half::before { content: map-get($bootstrap-icons-map, "battery-half"); } +.bi-battery::before { content: map-get($bootstrap-icons-map, "battery"); } +.bi-bell-fill::before { content: map-get($bootstrap-icons-map, "bell-fill"); } +.bi-bell::before { content: map-get($bootstrap-icons-map, "bell"); } +.bi-bezier::before { content: map-get($bootstrap-icons-map, "bezier"); } +.bi-bezier2::before { content: map-get($bootstrap-icons-map, "bezier2"); } +.bi-bicycle::before { content: map-get($bootstrap-icons-map, "bicycle"); } +.bi-binoculars-fill::before { content: map-get($bootstrap-icons-map, "binoculars-fill"); } +.bi-binoculars::before { content: map-get($bootstrap-icons-map, "binoculars"); } +.bi-blockquote-left::before { content: map-get($bootstrap-icons-map, "blockquote-left"); } +.bi-blockquote-right::before { content: map-get($bootstrap-icons-map, "blockquote-right"); } +.bi-book-fill::before { content: map-get($bootstrap-icons-map, "book-fill"); } +.bi-book-half::before { content: map-get($bootstrap-icons-map, "book-half"); } +.bi-book::before { content: map-get($bootstrap-icons-map, "book"); } +.bi-bookmark-check-fill::before { content: map-get($bootstrap-icons-map, "bookmark-check-fill"); } +.bi-bookmark-check::before { content: map-get($bootstrap-icons-map, "bookmark-check"); } +.bi-bookmark-dash-fill::before { content: map-get($bootstrap-icons-map, "bookmark-dash-fill"); } +.bi-bookmark-dash::before { content: map-get($bootstrap-icons-map, "bookmark-dash"); } +.bi-bookmark-fill::before { content: map-get($bootstrap-icons-map, "bookmark-fill"); } +.bi-bookmark-heart-fill::before { content: map-get($bootstrap-icons-map, "bookmark-heart-fill"); } +.bi-bookmark-heart::before { content: map-get($bootstrap-icons-map, "bookmark-heart"); } +.bi-bookmark-plus-fill::before { content: map-get($bootstrap-icons-map, "bookmark-plus-fill"); } +.bi-bookmark-plus::before { content: map-get($bootstrap-icons-map, "bookmark-plus"); } +.bi-bookmark-star-fill::before { content: map-get($bootstrap-icons-map, "bookmark-star-fill"); } +.bi-bookmark-star::before { content: map-get($bootstrap-icons-map, "bookmark-star"); } +.bi-bookmark-x-fill::before { content: map-get($bootstrap-icons-map, "bookmark-x-fill"); } +.bi-bookmark-x::before { content: map-get($bootstrap-icons-map, "bookmark-x"); } +.bi-bookmark::before { content: map-get($bootstrap-icons-map, "bookmark"); } +.bi-bookmarks-fill::before { content: map-get($bootstrap-icons-map, "bookmarks-fill"); } +.bi-bookmarks::before { content: map-get($bootstrap-icons-map, "bookmarks"); } +.bi-bookshelf::before { content: map-get($bootstrap-icons-map, "bookshelf"); } +.bi-bootstrap-fill::before { content: map-get($bootstrap-icons-map, "bootstrap-fill"); } +.bi-bootstrap-reboot::before { content: map-get($bootstrap-icons-map, "bootstrap-reboot"); } +.bi-bootstrap::before { content: map-get($bootstrap-icons-map, "bootstrap"); } +.bi-border-all::before { content: map-get($bootstrap-icons-map, "border-all"); } +.bi-border-bottom::before { content: map-get($bootstrap-icons-map, "border-bottom"); } +.bi-border-center::before { content: map-get($bootstrap-icons-map, "border-center"); } +.bi-border-inner::before { content: map-get($bootstrap-icons-map, "border-inner"); } +.bi-border-left::before { content: map-get($bootstrap-icons-map, "border-left"); } +.bi-border-middle::before { content: map-get($bootstrap-icons-map, "border-middle"); } +.bi-border-outer::before { content: map-get($bootstrap-icons-map, "border-outer"); } +.bi-border-right::before { content: map-get($bootstrap-icons-map, "border-right"); } +.bi-border-style::before { content: map-get($bootstrap-icons-map, "border-style"); } +.bi-border-top::before { content: map-get($bootstrap-icons-map, "border-top"); } +.bi-border-width::before { content: map-get($bootstrap-icons-map, "border-width"); } +.bi-border::before { content: map-get($bootstrap-icons-map, "border"); } +.bi-bounding-box-circles::before { content: map-get($bootstrap-icons-map, "bounding-box-circles"); } +.bi-bounding-box::before { content: map-get($bootstrap-icons-map, "bounding-box"); } +.bi-box-arrow-down-left::before { content: map-get($bootstrap-icons-map, "box-arrow-down-left"); } +.bi-box-arrow-down-right::before { content: map-get($bootstrap-icons-map, "box-arrow-down-right"); } +.bi-box-arrow-down::before { content: map-get($bootstrap-icons-map, "box-arrow-down"); } +.bi-box-arrow-in-down-left::before { content: map-get($bootstrap-icons-map, "box-arrow-in-down-left"); } +.bi-box-arrow-in-down-right::before { content: map-get($bootstrap-icons-map, "box-arrow-in-down-right"); } +.bi-box-arrow-in-down::before { content: map-get($bootstrap-icons-map, "box-arrow-in-down"); } +.bi-box-arrow-in-left::before { content: map-get($bootstrap-icons-map, "box-arrow-in-left"); } +.bi-box-arrow-in-right::before { content: map-get($bootstrap-icons-map, "box-arrow-in-right"); } +.bi-box-arrow-in-up-left::before { content: map-get($bootstrap-icons-map, "box-arrow-in-up-left"); } +.bi-box-arrow-in-up-right::before { content: map-get($bootstrap-icons-map, "box-arrow-in-up-right"); } +.bi-box-arrow-in-up::before { content: map-get($bootstrap-icons-map, "box-arrow-in-up"); } +.bi-box-arrow-left::before { content: map-get($bootstrap-icons-map, "box-arrow-left"); } +.bi-box-arrow-right::before { content: map-get($bootstrap-icons-map, "box-arrow-right"); } +.bi-box-arrow-up-left::before { content: map-get($bootstrap-icons-map, "box-arrow-up-left"); } +.bi-box-arrow-up-right::before { content: map-get($bootstrap-icons-map, "box-arrow-up-right"); } +.bi-box-arrow-up::before { content: map-get($bootstrap-icons-map, "box-arrow-up"); } +.bi-box-seam::before { content: map-get($bootstrap-icons-map, "box-seam"); } +.bi-box::before { content: map-get($bootstrap-icons-map, "box"); } +.bi-braces::before { content: map-get($bootstrap-icons-map, "braces"); } +.bi-bricks::before { content: map-get($bootstrap-icons-map, "bricks"); } +.bi-briefcase-fill::before { content: map-get($bootstrap-icons-map, "briefcase-fill"); } +.bi-briefcase::before { content: map-get($bootstrap-icons-map, "briefcase"); } +.bi-brightness-alt-high-fill::before { content: map-get($bootstrap-icons-map, "brightness-alt-high-fill"); } +.bi-brightness-alt-high::before { content: map-get($bootstrap-icons-map, "brightness-alt-high"); } +.bi-brightness-alt-low-fill::before { content: map-get($bootstrap-icons-map, "brightness-alt-low-fill"); } +.bi-brightness-alt-low::before { content: map-get($bootstrap-icons-map, "brightness-alt-low"); } +.bi-brightness-high-fill::before { content: map-get($bootstrap-icons-map, "brightness-high-fill"); } +.bi-brightness-high::before { content: map-get($bootstrap-icons-map, "brightness-high"); } +.bi-brightness-low-fill::before { content: map-get($bootstrap-icons-map, "brightness-low-fill"); } +.bi-brightness-low::before { content: map-get($bootstrap-icons-map, "brightness-low"); } +.bi-broadcast-pin::before { content: map-get($bootstrap-icons-map, "broadcast-pin"); } +.bi-broadcast::before { content: map-get($bootstrap-icons-map, "broadcast"); } +.bi-brush-fill::before { content: map-get($bootstrap-icons-map, "brush-fill"); } +.bi-brush::before { content: map-get($bootstrap-icons-map, "brush"); } +.bi-bucket-fill::before { content: map-get($bootstrap-icons-map, "bucket-fill"); } +.bi-bucket::before { content: map-get($bootstrap-icons-map, "bucket"); } +.bi-bug-fill::before { content: map-get($bootstrap-icons-map, "bug-fill"); } +.bi-bug::before { content: map-get($bootstrap-icons-map, "bug"); } +.bi-building::before { content: map-get($bootstrap-icons-map, "building"); } +.bi-bullseye::before { content: map-get($bootstrap-icons-map, "bullseye"); } +.bi-calculator-fill::before { content: map-get($bootstrap-icons-map, "calculator-fill"); } +.bi-calculator::before { content: map-get($bootstrap-icons-map, "calculator"); } +.bi-calendar-check-fill::before { content: map-get($bootstrap-icons-map, "calendar-check-fill"); } +.bi-calendar-check::before { content: map-get($bootstrap-icons-map, "calendar-check"); } +.bi-calendar-date-fill::before { content: map-get($bootstrap-icons-map, "calendar-date-fill"); } +.bi-calendar-date::before { content: map-get($bootstrap-icons-map, "calendar-date"); } +.bi-calendar-day-fill::before { content: map-get($bootstrap-icons-map, "calendar-day-fill"); } +.bi-calendar-day::before { content: map-get($bootstrap-icons-map, "calendar-day"); } +.bi-calendar-event-fill::before { content: map-get($bootstrap-icons-map, "calendar-event-fill"); } +.bi-calendar-event::before { content: map-get($bootstrap-icons-map, "calendar-event"); } +.bi-calendar-fill::before { content: map-get($bootstrap-icons-map, "calendar-fill"); } +.bi-calendar-minus-fill::before { content: map-get($bootstrap-icons-map, "calendar-minus-fill"); } +.bi-calendar-minus::before { content: map-get($bootstrap-icons-map, "calendar-minus"); } +.bi-calendar-month-fill::before { content: map-get($bootstrap-icons-map, "calendar-month-fill"); } +.bi-calendar-month::before { content: map-get($bootstrap-icons-map, "calendar-month"); } +.bi-calendar-plus-fill::before { content: map-get($bootstrap-icons-map, "calendar-plus-fill"); } +.bi-calendar-plus::before { content: map-get($bootstrap-icons-map, "calendar-plus"); } +.bi-calendar-range-fill::before { content: map-get($bootstrap-icons-map, "calendar-range-fill"); } +.bi-calendar-range::before { content: map-get($bootstrap-icons-map, "calendar-range"); } +.bi-calendar-week-fill::before { content: map-get($bootstrap-icons-map, "calendar-week-fill"); } +.bi-calendar-week::before { content: map-get($bootstrap-icons-map, "calendar-week"); } +.bi-calendar-x-fill::before { content: map-get($bootstrap-icons-map, "calendar-x-fill"); } +.bi-calendar-x::before { content: map-get($bootstrap-icons-map, "calendar-x"); } +.bi-calendar::before { content: map-get($bootstrap-icons-map, "calendar"); } +.bi-calendar2-check-fill::before { content: map-get($bootstrap-icons-map, "calendar2-check-fill"); } +.bi-calendar2-check::before { content: map-get($bootstrap-icons-map, "calendar2-check"); } +.bi-calendar2-date-fill::before { content: map-get($bootstrap-icons-map, "calendar2-date-fill"); } +.bi-calendar2-date::before { content: map-get($bootstrap-icons-map, "calendar2-date"); } +.bi-calendar2-day-fill::before { content: map-get($bootstrap-icons-map, "calendar2-day-fill"); } +.bi-calendar2-day::before { content: map-get($bootstrap-icons-map, "calendar2-day"); } +.bi-calendar2-event-fill::before { content: map-get($bootstrap-icons-map, "calendar2-event-fill"); } +.bi-calendar2-event::before { content: map-get($bootstrap-icons-map, "calendar2-event"); } +.bi-calendar2-fill::before { content: map-get($bootstrap-icons-map, "calendar2-fill"); } +.bi-calendar2-minus-fill::before { content: map-get($bootstrap-icons-map, "calendar2-minus-fill"); } +.bi-calendar2-minus::before { content: map-get($bootstrap-icons-map, "calendar2-minus"); } +.bi-calendar2-month-fill::before { content: map-get($bootstrap-icons-map, "calendar2-month-fill"); } +.bi-calendar2-month::before { content: map-get($bootstrap-icons-map, "calendar2-month"); } +.bi-calendar2-plus-fill::before { content: map-get($bootstrap-icons-map, "calendar2-plus-fill"); } +.bi-calendar2-plus::before { content: map-get($bootstrap-icons-map, "calendar2-plus"); } +.bi-calendar2-range-fill::before { content: map-get($bootstrap-icons-map, "calendar2-range-fill"); } +.bi-calendar2-range::before { content: map-get($bootstrap-icons-map, "calendar2-range"); } +.bi-calendar2-week-fill::before { content: map-get($bootstrap-icons-map, "calendar2-week-fill"); } +.bi-calendar2-week::before { content: map-get($bootstrap-icons-map, "calendar2-week"); } +.bi-calendar2-x-fill::before { content: map-get($bootstrap-icons-map, "calendar2-x-fill"); } +.bi-calendar2-x::before { content: map-get($bootstrap-icons-map, "calendar2-x"); } +.bi-calendar2::before { content: map-get($bootstrap-icons-map, "calendar2"); } +.bi-calendar3-event-fill::before { content: map-get($bootstrap-icons-map, "calendar3-event-fill"); } +.bi-calendar3-event::before { content: map-get($bootstrap-icons-map, "calendar3-event"); } +.bi-calendar3-fill::before { content: map-get($bootstrap-icons-map, "calendar3-fill"); } +.bi-calendar3-range-fill::before { content: map-get($bootstrap-icons-map, "calendar3-range-fill"); } +.bi-calendar3-range::before { content: map-get($bootstrap-icons-map, "calendar3-range"); } +.bi-calendar3-week-fill::before { content: map-get($bootstrap-icons-map, "calendar3-week-fill"); } +.bi-calendar3-week::before { content: map-get($bootstrap-icons-map, "calendar3-week"); } +.bi-calendar3::before { content: map-get($bootstrap-icons-map, "calendar3"); } +.bi-calendar4-event::before { content: map-get($bootstrap-icons-map, "calendar4-event"); } +.bi-calendar4-range::before { content: map-get($bootstrap-icons-map, "calendar4-range"); } +.bi-calendar4-week::before { content: map-get($bootstrap-icons-map, "calendar4-week"); } +.bi-calendar4::before { content: map-get($bootstrap-icons-map, "calendar4"); } +.bi-camera-fill::before { content: map-get($bootstrap-icons-map, "camera-fill"); } +.bi-camera-reels-fill::before { content: map-get($bootstrap-icons-map, "camera-reels-fill"); } +.bi-camera-reels::before { content: map-get($bootstrap-icons-map, "camera-reels"); } +.bi-camera-video-fill::before { content: map-get($bootstrap-icons-map, "camera-video-fill"); } +.bi-camera-video-off-fill::before { content: map-get($bootstrap-icons-map, "camera-video-off-fill"); } +.bi-camera-video-off::before { content: map-get($bootstrap-icons-map, "camera-video-off"); } +.bi-camera-video::before { content: map-get($bootstrap-icons-map, "camera-video"); } +.bi-camera::before { content: map-get($bootstrap-icons-map, "camera"); } +.bi-camera2::before { content: map-get($bootstrap-icons-map, "camera2"); } +.bi-capslock-fill::before { content: map-get($bootstrap-icons-map, "capslock-fill"); } +.bi-capslock::before { content: map-get($bootstrap-icons-map, "capslock"); } +.bi-card-checklist::before { content: map-get($bootstrap-icons-map, "card-checklist"); } +.bi-card-heading::before { content: map-get($bootstrap-icons-map, "card-heading"); } +.bi-card-image::before { content: map-get($bootstrap-icons-map, "card-image"); } +.bi-card-list::before { content: map-get($bootstrap-icons-map, "card-list"); } +.bi-card-text::before { content: map-get($bootstrap-icons-map, "card-text"); } +.bi-caret-down-fill::before { content: map-get($bootstrap-icons-map, "caret-down-fill"); } +.bi-caret-down-square-fill::before { content: map-get($bootstrap-icons-map, "caret-down-square-fill"); } +.bi-caret-down-square::before { content: map-get($bootstrap-icons-map, "caret-down-square"); } +.bi-caret-down::before { content: map-get($bootstrap-icons-map, "caret-down"); } +.bi-caret-left-fill::before { content: map-get($bootstrap-icons-map, "caret-left-fill"); } +.bi-caret-left-square-fill::before { content: map-get($bootstrap-icons-map, "caret-left-square-fill"); } +.bi-caret-left-square::before { content: map-get($bootstrap-icons-map, "caret-left-square"); } +.bi-caret-left::before { content: map-get($bootstrap-icons-map, "caret-left"); } +.bi-caret-right-fill::before { content: map-get($bootstrap-icons-map, "caret-right-fill"); } +.bi-caret-right-square-fill::before { content: map-get($bootstrap-icons-map, "caret-right-square-fill"); } +.bi-caret-right-square::before { content: map-get($bootstrap-icons-map, "caret-right-square"); } +.bi-caret-right::before { content: map-get($bootstrap-icons-map, "caret-right"); } +.bi-caret-up-fill::before { content: map-get($bootstrap-icons-map, "caret-up-fill"); } +.bi-caret-up-square-fill::before { content: map-get($bootstrap-icons-map, "caret-up-square-fill"); } +.bi-caret-up-square::before { content: map-get($bootstrap-icons-map, "caret-up-square"); } +.bi-caret-up::before { content: map-get($bootstrap-icons-map, "caret-up"); } +.bi-cart-check-fill::before { content: map-get($bootstrap-icons-map, "cart-check-fill"); } +.bi-cart-check::before { content: map-get($bootstrap-icons-map, "cart-check"); } +.bi-cart-dash-fill::before { content: map-get($bootstrap-icons-map, "cart-dash-fill"); } +.bi-cart-dash::before { content: map-get($bootstrap-icons-map, "cart-dash"); } +.bi-cart-fill::before { content: map-get($bootstrap-icons-map, "cart-fill"); } +.bi-cart-plus-fill::before { content: map-get($bootstrap-icons-map, "cart-plus-fill"); } +.bi-cart-plus::before { content: map-get($bootstrap-icons-map, "cart-plus"); } +.bi-cart-x-fill::before { content: map-get($bootstrap-icons-map, "cart-x-fill"); } +.bi-cart-x::before { content: map-get($bootstrap-icons-map, "cart-x"); } +.bi-cart::before { content: map-get($bootstrap-icons-map, "cart"); } +.bi-cart2::before { content: map-get($bootstrap-icons-map, "cart2"); } +.bi-cart3::before { content: map-get($bootstrap-icons-map, "cart3"); } +.bi-cart4::before { content: map-get($bootstrap-icons-map, "cart4"); } +.bi-cash-stack::before { content: map-get($bootstrap-icons-map, "cash-stack"); } +.bi-cash::before { content: map-get($bootstrap-icons-map, "cash"); } +.bi-cast::before { content: map-get($bootstrap-icons-map, "cast"); } +.bi-chat-dots-fill::before { content: map-get($bootstrap-icons-map, "chat-dots-fill"); } +.bi-chat-dots::before { content: map-get($bootstrap-icons-map, "chat-dots"); } +.bi-chat-fill::before { content: map-get($bootstrap-icons-map, "chat-fill"); } +.bi-chat-left-dots-fill::before { content: map-get($bootstrap-icons-map, "chat-left-dots-fill"); } +.bi-chat-left-dots::before { content: map-get($bootstrap-icons-map, "chat-left-dots"); } +.bi-chat-left-fill::before { content: map-get($bootstrap-icons-map, "chat-left-fill"); } +.bi-chat-left-quote-fill::before { content: map-get($bootstrap-icons-map, "chat-left-quote-fill"); } +.bi-chat-left-quote::before { content: map-get($bootstrap-icons-map, "chat-left-quote"); } +.bi-chat-left-text-fill::before { content: map-get($bootstrap-icons-map, "chat-left-text-fill"); } +.bi-chat-left-text::before { content: map-get($bootstrap-icons-map, "chat-left-text"); } +.bi-chat-left::before { content: map-get($bootstrap-icons-map, "chat-left"); } +.bi-chat-quote-fill::before { content: map-get($bootstrap-icons-map, "chat-quote-fill"); } +.bi-chat-quote::before { content: map-get($bootstrap-icons-map, "chat-quote"); } +.bi-chat-right-dots-fill::before { content: map-get($bootstrap-icons-map, "chat-right-dots-fill"); } +.bi-chat-right-dots::before { content: map-get($bootstrap-icons-map, "chat-right-dots"); } +.bi-chat-right-fill::before { content: map-get($bootstrap-icons-map, "chat-right-fill"); } +.bi-chat-right-quote-fill::before { content: map-get($bootstrap-icons-map, "chat-right-quote-fill"); } +.bi-chat-right-quote::before { content: map-get($bootstrap-icons-map, "chat-right-quote"); } +.bi-chat-right-text-fill::before { content: map-get($bootstrap-icons-map, "chat-right-text-fill"); } +.bi-chat-right-text::before { content: map-get($bootstrap-icons-map, "chat-right-text"); } +.bi-chat-right::before { content: map-get($bootstrap-icons-map, "chat-right"); } +.bi-chat-square-dots-fill::before { content: map-get($bootstrap-icons-map, "chat-square-dots-fill"); } +.bi-chat-square-dots::before { content: map-get($bootstrap-icons-map, "chat-square-dots"); } +.bi-chat-square-fill::before { content: map-get($bootstrap-icons-map, "chat-square-fill"); } +.bi-chat-square-quote-fill::before { content: map-get($bootstrap-icons-map, "chat-square-quote-fill"); } +.bi-chat-square-quote::before { content: map-get($bootstrap-icons-map, "chat-square-quote"); } +.bi-chat-square-text-fill::before { content: map-get($bootstrap-icons-map, "chat-square-text-fill"); } +.bi-chat-square-text::before { content: map-get($bootstrap-icons-map, "chat-square-text"); } +.bi-chat-square::before { content: map-get($bootstrap-icons-map, "chat-square"); } +.bi-chat-text-fill::before { content: map-get($bootstrap-icons-map, "chat-text-fill"); } +.bi-chat-text::before { content: map-get($bootstrap-icons-map, "chat-text"); } +.bi-chat::before { content: map-get($bootstrap-icons-map, "chat"); } +.bi-check-all::before { content: map-get($bootstrap-icons-map, "check-all"); } +.bi-check-circle-fill::before { content: map-get($bootstrap-icons-map, "check-circle-fill"); } +.bi-check-circle::before { content: map-get($bootstrap-icons-map, "check-circle"); } +.bi-check-square-fill::before { content: map-get($bootstrap-icons-map, "check-square-fill"); } +.bi-check-square::before { content: map-get($bootstrap-icons-map, "check-square"); } +.bi-check::before { content: map-get($bootstrap-icons-map, "check"); } +.bi-check2-all::before { content: map-get($bootstrap-icons-map, "check2-all"); } +.bi-check2-circle::before { content: map-get($bootstrap-icons-map, "check2-circle"); } +.bi-check2-square::before { content: map-get($bootstrap-icons-map, "check2-square"); } +.bi-check2::before { content: map-get($bootstrap-icons-map, "check2"); } +.bi-chevron-bar-contract::before { content: map-get($bootstrap-icons-map, "chevron-bar-contract"); } +.bi-chevron-bar-down::before { content: map-get($bootstrap-icons-map, "chevron-bar-down"); } +.bi-chevron-bar-expand::before { content: map-get($bootstrap-icons-map, "chevron-bar-expand"); } +.bi-chevron-bar-left::before { content: map-get($bootstrap-icons-map, "chevron-bar-left"); } +.bi-chevron-bar-right::before { content: map-get($bootstrap-icons-map, "chevron-bar-right"); } +.bi-chevron-bar-up::before { content: map-get($bootstrap-icons-map, "chevron-bar-up"); } +.bi-chevron-compact-down::before { content: map-get($bootstrap-icons-map, "chevron-compact-down"); } +.bi-chevron-compact-left::before { content: map-get($bootstrap-icons-map, "chevron-compact-left"); } +.bi-chevron-compact-right::before { content: map-get($bootstrap-icons-map, "chevron-compact-right"); } +.bi-chevron-compact-up::before { content: map-get($bootstrap-icons-map, "chevron-compact-up"); } +.bi-chevron-contract::before { content: map-get($bootstrap-icons-map, "chevron-contract"); } +.bi-chevron-double-down::before { content: map-get($bootstrap-icons-map, "chevron-double-down"); } +.bi-chevron-double-left::before { content: map-get($bootstrap-icons-map, "chevron-double-left"); } +.bi-chevron-double-right::before { content: map-get($bootstrap-icons-map, "chevron-double-right"); } +.bi-chevron-double-up::before { content: map-get($bootstrap-icons-map, "chevron-double-up"); } +.bi-chevron-down::before { content: map-get($bootstrap-icons-map, "chevron-down"); } +.bi-chevron-expand::before { content: map-get($bootstrap-icons-map, "chevron-expand"); } +.bi-chevron-left::before { content: map-get($bootstrap-icons-map, "chevron-left"); } +.bi-chevron-right::before { content: map-get($bootstrap-icons-map, "chevron-right"); } +.bi-chevron-up::before { content: map-get($bootstrap-icons-map, "chevron-up"); } +.bi-circle-fill::before { content: map-get($bootstrap-icons-map, "circle-fill"); } +.bi-circle-half::before { content: map-get($bootstrap-icons-map, "circle-half"); } +.bi-circle-square::before { content: map-get($bootstrap-icons-map, "circle-square"); } +.bi-circle::before { content: map-get($bootstrap-icons-map, "circle"); } +.bi-clipboard-check::before { content: map-get($bootstrap-icons-map, "clipboard-check"); } +.bi-clipboard-data::before { content: map-get($bootstrap-icons-map, "clipboard-data"); } +.bi-clipboard-minus::before { content: map-get($bootstrap-icons-map, "clipboard-minus"); } +.bi-clipboard-plus::before { content: map-get($bootstrap-icons-map, "clipboard-plus"); } +.bi-clipboard-x::before { content: map-get($bootstrap-icons-map, "clipboard-x"); } +.bi-clipboard::before { content: map-get($bootstrap-icons-map, "clipboard"); } +.bi-clock-fill::before { content: map-get($bootstrap-icons-map, "clock-fill"); } +.bi-clock-history::before { content: map-get($bootstrap-icons-map, "clock-history"); } +.bi-clock::before { content: map-get($bootstrap-icons-map, "clock"); } +.bi-cloud-arrow-down-fill::before { content: map-get($bootstrap-icons-map, "cloud-arrow-down-fill"); } +.bi-cloud-arrow-down::before { content: map-get($bootstrap-icons-map, "cloud-arrow-down"); } +.bi-cloud-arrow-up-fill::before { content: map-get($bootstrap-icons-map, "cloud-arrow-up-fill"); } +.bi-cloud-arrow-up::before { content: map-get($bootstrap-icons-map, "cloud-arrow-up"); } +.bi-cloud-check-fill::before { content: map-get($bootstrap-icons-map, "cloud-check-fill"); } +.bi-cloud-check::before { content: map-get($bootstrap-icons-map, "cloud-check"); } +.bi-cloud-download-fill::before { content: map-get($bootstrap-icons-map, "cloud-download-fill"); } +.bi-cloud-download::before { content: map-get($bootstrap-icons-map, "cloud-download"); } +.bi-cloud-drizzle-fill::before { content: map-get($bootstrap-icons-map, "cloud-drizzle-fill"); } +.bi-cloud-drizzle::before { content: map-get($bootstrap-icons-map, "cloud-drizzle"); } +.bi-cloud-fill::before { content: map-get($bootstrap-icons-map, "cloud-fill"); } +.bi-cloud-fog-fill::before { content: map-get($bootstrap-icons-map, "cloud-fog-fill"); } +.bi-cloud-fog::before { content: map-get($bootstrap-icons-map, "cloud-fog"); } +.bi-cloud-fog2-fill::before { content: map-get($bootstrap-icons-map, "cloud-fog2-fill"); } +.bi-cloud-fog2::before { content: map-get($bootstrap-icons-map, "cloud-fog2"); } +.bi-cloud-hail-fill::before { content: map-get($bootstrap-icons-map, "cloud-hail-fill"); } +.bi-cloud-hail::before { content: map-get($bootstrap-icons-map, "cloud-hail"); } +.bi-cloud-haze-1::before { content: map-get($bootstrap-icons-map, "cloud-haze-1"); } +.bi-cloud-haze-fill::before { content: map-get($bootstrap-icons-map, "cloud-haze-fill"); } +.bi-cloud-haze::before { content: map-get($bootstrap-icons-map, "cloud-haze"); } +.bi-cloud-haze2-fill::before { content: map-get($bootstrap-icons-map, "cloud-haze2-fill"); } +.bi-cloud-lightning-fill::before { content: map-get($bootstrap-icons-map, "cloud-lightning-fill"); } +.bi-cloud-lightning-rain-fill::before { content: map-get($bootstrap-icons-map, "cloud-lightning-rain-fill"); } +.bi-cloud-lightning-rain::before { content: map-get($bootstrap-icons-map, "cloud-lightning-rain"); } +.bi-cloud-lightning::before { content: map-get($bootstrap-icons-map, "cloud-lightning"); } +.bi-cloud-minus-fill::before { content: map-get($bootstrap-icons-map, "cloud-minus-fill"); } +.bi-cloud-minus::before { content: map-get($bootstrap-icons-map, "cloud-minus"); } +.bi-cloud-moon-fill::before { content: map-get($bootstrap-icons-map, "cloud-moon-fill"); } +.bi-cloud-moon::before { content: map-get($bootstrap-icons-map, "cloud-moon"); } +.bi-cloud-plus-fill::before { content: map-get($bootstrap-icons-map, "cloud-plus-fill"); } +.bi-cloud-plus::before { content: map-get($bootstrap-icons-map, "cloud-plus"); } +.bi-cloud-rain-fill::before { content: map-get($bootstrap-icons-map, "cloud-rain-fill"); } +.bi-cloud-rain-heavy-fill::before { content: map-get($bootstrap-icons-map, "cloud-rain-heavy-fill"); } +.bi-cloud-rain-heavy::before { content: map-get($bootstrap-icons-map, "cloud-rain-heavy"); } +.bi-cloud-rain::before { content: map-get($bootstrap-icons-map, "cloud-rain"); } +.bi-cloud-slash-fill::before { content: map-get($bootstrap-icons-map, "cloud-slash-fill"); } +.bi-cloud-slash::before { content: map-get($bootstrap-icons-map, "cloud-slash"); } +.bi-cloud-sleet-fill::before { content: map-get($bootstrap-icons-map, "cloud-sleet-fill"); } +.bi-cloud-sleet::before { content: map-get($bootstrap-icons-map, "cloud-sleet"); } +.bi-cloud-snow-fill::before { content: map-get($bootstrap-icons-map, "cloud-snow-fill"); } +.bi-cloud-snow::before { content: map-get($bootstrap-icons-map, "cloud-snow"); } +.bi-cloud-sun-fill::before { content: map-get($bootstrap-icons-map, "cloud-sun-fill"); } +.bi-cloud-sun::before { content: map-get($bootstrap-icons-map, "cloud-sun"); } +.bi-cloud-upload-fill::before { content: map-get($bootstrap-icons-map, "cloud-upload-fill"); } +.bi-cloud-upload::before { content: map-get($bootstrap-icons-map, "cloud-upload"); } +.bi-cloud::before { content: map-get($bootstrap-icons-map, "cloud"); } +.bi-clouds-fill::before { content: map-get($bootstrap-icons-map, "clouds-fill"); } +.bi-clouds::before { content: map-get($bootstrap-icons-map, "clouds"); } +.bi-cloudy-fill::before { content: map-get($bootstrap-icons-map, "cloudy-fill"); } +.bi-cloudy::before { content: map-get($bootstrap-icons-map, "cloudy"); } +.bi-code-slash::before { content: map-get($bootstrap-icons-map, "code-slash"); } +.bi-code-square::before { content: map-get($bootstrap-icons-map, "code-square"); } +.bi-code::before { content: map-get($bootstrap-icons-map, "code"); } +.bi-collection-fill::before { content: map-get($bootstrap-icons-map, "collection-fill"); } +.bi-collection-play-fill::before { content: map-get($bootstrap-icons-map, "collection-play-fill"); } +.bi-collection-play::before { content: map-get($bootstrap-icons-map, "collection-play"); } +.bi-collection::before { content: map-get($bootstrap-icons-map, "collection"); } +.bi-columns-gap::before { content: map-get($bootstrap-icons-map, "columns-gap"); } +.bi-columns::before { content: map-get($bootstrap-icons-map, "columns"); } +.bi-command::before { content: map-get($bootstrap-icons-map, "command"); } +.bi-compass-fill::before { content: map-get($bootstrap-icons-map, "compass-fill"); } +.bi-compass::before { content: map-get($bootstrap-icons-map, "compass"); } +.bi-cone-striped::before { content: map-get($bootstrap-icons-map, "cone-striped"); } +.bi-cone::before { content: map-get($bootstrap-icons-map, "cone"); } +.bi-controller::before { content: map-get($bootstrap-icons-map, "controller"); } +.bi-cpu-fill::before { content: map-get($bootstrap-icons-map, "cpu-fill"); } +.bi-cpu::before { content: map-get($bootstrap-icons-map, "cpu"); } +.bi-credit-card-2-back-fill::before { content: map-get($bootstrap-icons-map, "credit-card-2-back-fill"); } +.bi-credit-card-2-back::before { content: map-get($bootstrap-icons-map, "credit-card-2-back"); } +.bi-credit-card-2-front-fill::before { content: map-get($bootstrap-icons-map, "credit-card-2-front-fill"); } +.bi-credit-card-2-front::before { content: map-get($bootstrap-icons-map, "credit-card-2-front"); } +.bi-credit-card-fill::before { content: map-get($bootstrap-icons-map, "credit-card-fill"); } +.bi-credit-card::before { content: map-get($bootstrap-icons-map, "credit-card"); } +.bi-crop::before { content: map-get($bootstrap-icons-map, "crop"); } +.bi-cup-fill::before { content: map-get($bootstrap-icons-map, "cup-fill"); } +.bi-cup-straw::before { content: map-get($bootstrap-icons-map, "cup-straw"); } +.bi-cup::before { content: map-get($bootstrap-icons-map, "cup"); } +.bi-cursor-fill::before { content: map-get($bootstrap-icons-map, "cursor-fill"); } +.bi-cursor-text::before { content: map-get($bootstrap-icons-map, "cursor-text"); } +.bi-cursor::before { content: map-get($bootstrap-icons-map, "cursor"); } +.bi-dash-circle-dotted::before { content: map-get($bootstrap-icons-map, "dash-circle-dotted"); } +.bi-dash-circle-fill::before { content: map-get($bootstrap-icons-map, "dash-circle-fill"); } +.bi-dash-circle::before { content: map-get($bootstrap-icons-map, "dash-circle"); } +.bi-dash-square-dotted::before { content: map-get($bootstrap-icons-map, "dash-square-dotted"); } +.bi-dash-square-fill::before { content: map-get($bootstrap-icons-map, "dash-square-fill"); } +.bi-dash-square::before { content: map-get($bootstrap-icons-map, "dash-square"); } +.bi-dash::before { content: map-get($bootstrap-icons-map, "dash"); } +.bi-diagram-2-fill::before { content: map-get($bootstrap-icons-map, "diagram-2-fill"); } +.bi-diagram-2::before { content: map-get($bootstrap-icons-map, "diagram-2"); } +.bi-diagram-3-fill::before { content: map-get($bootstrap-icons-map, "diagram-3-fill"); } +.bi-diagram-3::before { content: map-get($bootstrap-icons-map, "diagram-3"); } +.bi-diamond-fill::before { content: map-get($bootstrap-icons-map, "diamond-fill"); } +.bi-diamond-half::before { content: map-get($bootstrap-icons-map, "diamond-half"); } +.bi-diamond::before { content: map-get($bootstrap-icons-map, "diamond"); } +.bi-dice-1-fill::before { content: map-get($bootstrap-icons-map, "dice-1-fill"); } +.bi-dice-1::before { content: map-get($bootstrap-icons-map, "dice-1"); } +.bi-dice-2-fill::before { content: map-get($bootstrap-icons-map, "dice-2-fill"); } +.bi-dice-2::before { content: map-get($bootstrap-icons-map, "dice-2"); } +.bi-dice-3-fill::before { content: map-get($bootstrap-icons-map, "dice-3-fill"); } +.bi-dice-3::before { content: map-get($bootstrap-icons-map, "dice-3"); } +.bi-dice-4-fill::before { content: map-get($bootstrap-icons-map, "dice-4-fill"); } +.bi-dice-4::before { content: map-get($bootstrap-icons-map, "dice-4"); } +.bi-dice-5-fill::before { content: map-get($bootstrap-icons-map, "dice-5-fill"); } +.bi-dice-5::before { content: map-get($bootstrap-icons-map, "dice-5"); } +.bi-dice-6-fill::before { content: map-get($bootstrap-icons-map, "dice-6-fill"); } +.bi-dice-6::before { content: map-get($bootstrap-icons-map, "dice-6"); } +.bi-disc-fill::before { content: map-get($bootstrap-icons-map, "disc-fill"); } +.bi-disc::before { content: map-get($bootstrap-icons-map, "disc"); } +.bi-discord::before { content: map-get($bootstrap-icons-map, "discord"); } +.bi-display-fill::before { content: map-get($bootstrap-icons-map, "display-fill"); } +.bi-display::before { content: map-get($bootstrap-icons-map, "display"); } +.bi-distribute-horizontal::before { content: map-get($bootstrap-icons-map, "distribute-horizontal"); } +.bi-distribute-vertical::before { content: map-get($bootstrap-icons-map, "distribute-vertical"); } +.bi-door-closed-fill::before { content: map-get($bootstrap-icons-map, "door-closed-fill"); } +.bi-door-closed::before { content: map-get($bootstrap-icons-map, "door-closed"); } +.bi-door-open-fill::before { content: map-get($bootstrap-icons-map, "door-open-fill"); } +.bi-door-open::before { content: map-get($bootstrap-icons-map, "door-open"); } +.bi-dot::before { content: map-get($bootstrap-icons-map, "dot"); } +.bi-download::before { content: map-get($bootstrap-icons-map, "download"); } +.bi-droplet-fill::before { content: map-get($bootstrap-icons-map, "droplet-fill"); } +.bi-droplet-half::before { content: map-get($bootstrap-icons-map, "droplet-half"); } +.bi-droplet::before { content: map-get($bootstrap-icons-map, "droplet"); } +.bi-earbuds::before { content: map-get($bootstrap-icons-map, "earbuds"); } +.bi-easel-fill::before { content: map-get($bootstrap-icons-map, "easel-fill"); } +.bi-easel::before { content: map-get($bootstrap-icons-map, "easel"); } +.bi-egg-fill::before { content: map-get($bootstrap-icons-map, "egg-fill"); } +.bi-egg-fried::before { content: map-get($bootstrap-icons-map, "egg-fried"); } +.bi-egg::before { content: map-get($bootstrap-icons-map, "egg"); } +.bi-eject-fill::before { content: map-get($bootstrap-icons-map, "eject-fill"); } +.bi-eject::before { content: map-get($bootstrap-icons-map, "eject"); } +.bi-emoji-angry-fill::before { content: map-get($bootstrap-icons-map, "emoji-angry-fill"); } +.bi-emoji-angry::before { content: map-get($bootstrap-icons-map, "emoji-angry"); } +.bi-emoji-dizzy-fill::before { content: map-get($bootstrap-icons-map, "emoji-dizzy-fill"); } +.bi-emoji-dizzy::before { content: map-get($bootstrap-icons-map, "emoji-dizzy"); } +.bi-emoji-expressionless-fill::before { content: map-get($bootstrap-icons-map, "emoji-expressionless-fill"); } +.bi-emoji-expressionless::before { content: map-get($bootstrap-icons-map, "emoji-expressionless"); } +.bi-emoji-frown-fill::before { content: map-get($bootstrap-icons-map, "emoji-frown-fill"); } +.bi-emoji-frown::before { content: map-get($bootstrap-icons-map, "emoji-frown"); } +.bi-emoji-heart-eyes-fill::before { content: map-get($bootstrap-icons-map, "emoji-heart-eyes-fill"); } +.bi-emoji-heart-eyes::before { content: map-get($bootstrap-icons-map, "emoji-heart-eyes"); } +.bi-emoji-laughing-fill::before { content: map-get($bootstrap-icons-map, "emoji-laughing-fill"); } +.bi-emoji-laughing::before { content: map-get($bootstrap-icons-map, "emoji-laughing"); } +.bi-emoji-neutral-fill::before { content: map-get($bootstrap-icons-map, "emoji-neutral-fill"); } +.bi-emoji-neutral::before { content: map-get($bootstrap-icons-map, "emoji-neutral"); } +.bi-emoji-smile-fill::before { content: map-get($bootstrap-icons-map, "emoji-smile-fill"); } +.bi-emoji-smile-upside-down-fill::before { content: map-get($bootstrap-icons-map, "emoji-smile-upside-down-fill"); } +.bi-emoji-smile-upside-down::before { content: map-get($bootstrap-icons-map, "emoji-smile-upside-down"); } +.bi-emoji-smile::before { content: map-get($bootstrap-icons-map, "emoji-smile"); } +.bi-emoji-sunglasses-fill::before { content: map-get($bootstrap-icons-map, "emoji-sunglasses-fill"); } +.bi-emoji-sunglasses::before { content: map-get($bootstrap-icons-map, "emoji-sunglasses"); } +.bi-emoji-wink-fill::before { content: map-get($bootstrap-icons-map, "emoji-wink-fill"); } +.bi-emoji-wink::before { content: map-get($bootstrap-icons-map, "emoji-wink"); } +.bi-envelope-fill::before { content: map-get($bootstrap-icons-map, "envelope-fill"); } +.bi-envelope-open-fill::before { content: map-get($bootstrap-icons-map, "envelope-open-fill"); } +.bi-envelope-open::before { content: map-get($bootstrap-icons-map, "envelope-open"); } +.bi-envelope::before { content: map-get($bootstrap-icons-map, "envelope"); } +.bi-eraser-fill::before { content: map-get($bootstrap-icons-map, "eraser-fill"); } +.bi-eraser::before { content: map-get($bootstrap-icons-map, "eraser"); } +.bi-exclamation-circle-fill::before { content: map-get($bootstrap-icons-map, "exclamation-circle-fill"); } +.bi-exclamation-circle::before { content: map-get($bootstrap-icons-map, "exclamation-circle"); } +.bi-exclamation-diamond-fill::before { content: map-get($bootstrap-icons-map, "exclamation-diamond-fill"); } +.bi-exclamation-diamond::before { content: map-get($bootstrap-icons-map, "exclamation-diamond"); } +.bi-exclamation-octagon-fill::before { content: map-get($bootstrap-icons-map, "exclamation-octagon-fill"); } +.bi-exclamation-octagon::before { content: map-get($bootstrap-icons-map, "exclamation-octagon"); } +.bi-exclamation-square-fill::before { content: map-get($bootstrap-icons-map, "exclamation-square-fill"); } +.bi-exclamation-square::before { content: map-get($bootstrap-icons-map, "exclamation-square"); } +.bi-exclamation-triangle-fill::before { content: map-get($bootstrap-icons-map, "exclamation-triangle-fill"); } +.bi-exclamation-triangle::before { content: map-get($bootstrap-icons-map, "exclamation-triangle"); } +.bi-exclamation::before { content: map-get($bootstrap-icons-map, "exclamation"); } +.bi-exclude::before { content: map-get($bootstrap-icons-map, "exclude"); } +.bi-eye-fill::before { content: map-get($bootstrap-icons-map, "eye-fill"); } +.bi-eye-slash-fill::before { content: map-get($bootstrap-icons-map, "eye-slash-fill"); } +.bi-eye-slash::before { content: map-get($bootstrap-icons-map, "eye-slash"); } +.bi-eye::before { content: map-get($bootstrap-icons-map, "eye"); } +.bi-eyedropper::before { content: map-get($bootstrap-icons-map, "eyedropper"); } +.bi-eyeglasses::before { content: map-get($bootstrap-icons-map, "eyeglasses"); } +.bi-facebook::before { content: map-get($bootstrap-icons-map, "facebook"); } +.bi-file-arrow-down-fill::before { content: map-get($bootstrap-icons-map, "file-arrow-down-fill"); } +.bi-file-arrow-down::before { content: map-get($bootstrap-icons-map, "file-arrow-down"); } +.bi-file-arrow-up-fill::before { content: map-get($bootstrap-icons-map, "file-arrow-up-fill"); } +.bi-file-arrow-up::before { content: map-get($bootstrap-icons-map, "file-arrow-up"); } +.bi-file-bar-graph-fill::before { content: map-get($bootstrap-icons-map, "file-bar-graph-fill"); } +.bi-file-bar-graph::before { content: map-get($bootstrap-icons-map, "file-bar-graph"); } +.bi-file-binary-fill::before { content: map-get($bootstrap-icons-map, "file-binary-fill"); } +.bi-file-binary::before { content: map-get($bootstrap-icons-map, "file-binary"); } +.bi-file-break-fill::before { content: map-get($bootstrap-icons-map, "file-break-fill"); } +.bi-file-break::before { content: map-get($bootstrap-icons-map, "file-break"); } +.bi-file-check-fill::before { content: map-get($bootstrap-icons-map, "file-check-fill"); } +.bi-file-check::before { content: map-get($bootstrap-icons-map, "file-check"); } +.bi-file-code-fill::before { content: map-get($bootstrap-icons-map, "file-code-fill"); } +.bi-file-code::before { content: map-get($bootstrap-icons-map, "file-code"); } +.bi-file-diff-fill::before { content: map-get($bootstrap-icons-map, "file-diff-fill"); } +.bi-file-diff::before { content: map-get($bootstrap-icons-map, "file-diff"); } +.bi-file-earmark-arrow-down-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-arrow-down-fill"); } +.bi-file-earmark-arrow-down::before { content: map-get($bootstrap-icons-map, "file-earmark-arrow-down"); } +.bi-file-earmark-arrow-up-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-arrow-up-fill"); } +.bi-file-earmark-arrow-up::before { content: map-get($bootstrap-icons-map, "file-earmark-arrow-up"); } +.bi-file-earmark-bar-graph-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-bar-graph-fill"); } +.bi-file-earmark-bar-graph::before { content: map-get($bootstrap-icons-map, "file-earmark-bar-graph"); } +.bi-file-earmark-binary-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-binary-fill"); } +.bi-file-earmark-binary::before { content: map-get($bootstrap-icons-map, "file-earmark-binary"); } +.bi-file-earmark-break-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-break-fill"); } +.bi-file-earmark-break::before { content: map-get($bootstrap-icons-map, "file-earmark-break"); } +.bi-file-earmark-check-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-check-fill"); } +.bi-file-earmark-check::before { content: map-get($bootstrap-icons-map, "file-earmark-check"); } +.bi-file-earmark-code-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-code-fill"); } +.bi-file-earmark-code::before { content: map-get($bootstrap-icons-map, "file-earmark-code"); } +.bi-file-earmark-diff-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-diff-fill"); } +.bi-file-earmark-diff::before { content: map-get($bootstrap-icons-map, "file-earmark-diff"); } +.bi-file-earmark-easel-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-easel-fill"); } +.bi-file-earmark-easel::before { content: map-get($bootstrap-icons-map, "file-earmark-easel"); } +.bi-file-earmark-excel-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-excel-fill"); } +.bi-file-earmark-excel::before { content: map-get($bootstrap-icons-map, "file-earmark-excel"); } +.bi-file-earmark-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-fill"); } +.bi-file-earmark-font-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-font-fill"); } +.bi-file-earmark-font::before { content: map-get($bootstrap-icons-map, "file-earmark-font"); } +.bi-file-earmark-image-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-image-fill"); } +.bi-file-earmark-image::before { content: map-get($bootstrap-icons-map, "file-earmark-image"); } +.bi-file-earmark-lock-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-lock-fill"); } +.bi-file-earmark-lock::before { content: map-get($bootstrap-icons-map, "file-earmark-lock"); } +.bi-file-earmark-lock2-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-lock2-fill"); } +.bi-file-earmark-lock2::before { content: map-get($bootstrap-icons-map, "file-earmark-lock2"); } +.bi-file-earmark-medical-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-medical-fill"); } +.bi-file-earmark-medical::before { content: map-get($bootstrap-icons-map, "file-earmark-medical"); } +.bi-file-earmark-minus-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-minus-fill"); } +.bi-file-earmark-minus::before { content: map-get($bootstrap-icons-map, "file-earmark-minus"); } +.bi-file-earmark-music-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-music-fill"); } +.bi-file-earmark-music::before { content: map-get($bootstrap-icons-map, "file-earmark-music"); } +.bi-file-earmark-person-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-person-fill"); } +.bi-file-earmark-person::before { content: map-get($bootstrap-icons-map, "file-earmark-person"); } +.bi-file-earmark-play-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-play-fill"); } +.bi-file-earmark-play::before { content: map-get($bootstrap-icons-map, "file-earmark-play"); } +.bi-file-earmark-plus-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-plus-fill"); } +.bi-file-earmark-plus::before { content: map-get($bootstrap-icons-map, "file-earmark-plus"); } +.bi-file-earmark-post-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-post-fill"); } +.bi-file-earmark-post::before { content: map-get($bootstrap-icons-map, "file-earmark-post"); } +.bi-file-earmark-ppt-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-ppt-fill"); } +.bi-file-earmark-ppt::before { content: map-get($bootstrap-icons-map, "file-earmark-ppt"); } +.bi-file-earmark-richtext-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-richtext-fill"); } +.bi-file-earmark-richtext::before { content: map-get($bootstrap-icons-map, "file-earmark-richtext"); } +.bi-file-earmark-ruled-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-ruled-fill"); } +.bi-file-earmark-ruled::before { content: map-get($bootstrap-icons-map, "file-earmark-ruled"); } +.bi-file-earmark-slides-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-slides-fill"); } +.bi-file-earmark-slides::before { content: map-get($bootstrap-icons-map, "file-earmark-slides"); } +.bi-file-earmark-spreadsheet-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-spreadsheet-fill"); } +.bi-file-earmark-spreadsheet::before { content: map-get($bootstrap-icons-map, "file-earmark-spreadsheet"); } +.bi-file-earmark-text-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-text-fill"); } +.bi-file-earmark-text::before { content: map-get($bootstrap-icons-map, "file-earmark-text"); } +.bi-file-earmark-word-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-word-fill"); } +.bi-file-earmark-word::before { content: map-get($bootstrap-icons-map, "file-earmark-word"); } +.bi-file-earmark-x-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-x-fill"); } +.bi-file-earmark-x::before { content: map-get($bootstrap-icons-map, "file-earmark-x"); } +.bi-file-earmark-zip-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-zip-fill"); } +.bi-file-earmark-zip::before { content: map-get($bootstrap-icons-map, "file-earmark-zip"); } +.bi-file-earmark::before { content: map-get($bootstrap-icons-map, "file-earmark"); } +.bi-file-easel-fill::before { content: map-get($bootstrap-icons-map, "file-easel-fill"); } +.bi-file-easel::before { content: map-get($bootstrap-icons-map, "file-easel"); } +.bi-file-excel-fill::before { content: map-get($bootstrap-icons-map, "file-excel-fill"); } +.bi-file-excel::before { content: map-get($bootstrap-icons-map, "file-excel"); } +.bi-file-fill::before { content: map-get($bootstrap-icons-map, "file-fill"); } +.bi-file-font-fill::before { content: map-get($bootstrap-icons-map, "file-font-fill"); } +.bi-file-font::before { content: map-get($bootstrap-icons-map, "file-font"); } +.bi-file-image-fill::before { content: map-get($bootstrap-icons-map, "file-image-fill"); } +.bi-file-image::before { content: map-get($bootstrap-icons-map, "file-image"); } +.bi-file-lock-fill::before { content: map-get($bootstrap-icons-map, "file-lock-fill"); } +.bi-file-lock::before { content: map-get($bootstrap-icons-map, "file-lock"); } +.bi-file-lock2-fill::before { content: map-get($bootstrap-icons-map, "file-lock2-fill"); } +.bi-file-lock2::before { content: map-get($bootstrap-icons-map, "file-lock2"); } +.bi-file-medical-fill::before { content: map-get($bootstrap-icons-map, "file-medical-fill"); } +.bi-file-medical::before { content: map-get($bootstrap-icons-map, "file-medical"); } +.bi-file-minus-fill::before { content: map-get($bootstrap-icons-map, "file-minus-fill"); } +.bi-file-minus::before { content: map-get($bootstrap-icons-map, "file-minus"); } +.bi-file-music-fill::before { content: map-get($bootstrap-icons-map, "file-music-fill"); } +.bi-file-music::before { content: map-get($bootstrap-icons-map, "file-music"); } +.bi-file-person-fill::before { content: map-get($bootstrap-icons-map, "file-person-fill"); } +.bi-file-person::before { content: map-get($bootstrap-icons-map, "file-person"); } +.bi-file-play-fill::before { content: map-get($bootstrap-icons-map, "file-play-fill"); } +.bi-file-play::before { content: map-get($bootstrap-icons-map, "file-play"); } +.bi-file-plus-fill::before { content: map-get($bootstrap-icons-map, "file-plus-fill"); } +.bi-file-plus::before { content: map-get($bootstrap-icons-map, "file-plus"); } +.bi-file-post-fill::before { content: map-get($bootstrap-icons-map, "file-post-fill"); } +.bi-file-post::before { content: map-get($bootstrap-icons-map, "file-post"); } +.bi-file-ppt-fill::before { content: map-get($bootstrap-icons-map, "file-ppt-fill"); } +.bi-file-ppt::before { content: map-get($bootstrap-icons-map, "file-ppt"); } +.bi-file-richtext-fill::before { content: map-get($bootstrap-icons-map, "file-richtext-fill"); } +.bi-file-richtext::before { content: map-get($bootstrap-icons-map, "file-richtext"); } +.bi-file-ruled-fill::before { content: map-get($bootstrap-icons-map, "file-ruled-fill"); } +.bi-file-ruled::before { content: map-get($bootstrap-icons-map, "file-ruled"); } +.bi-file-slides-fill::before { content: map-get($bootstrap-icons-map, "file-slides-fill"); } +.bi-file-slides::before { content: map-get($bootstrap-icons-map, "file-slides"); } +.bi-file-spreadsheet-fill::before { content: map-get($bootstrap-icons-map, "file-spreadsheet-fill"); } +.bi-file-spreadsheet::before { content: map-get($bootstrap-icons-map, "file-spreadsheet"); } +.bi-file-text-fill::before { content: map-get($bootstrap-icons-map, "file-text-fill"); } +.bi-file-text::before { content: map-get($bootstrap-icons-map, "file-text"); } +.bi-file-word-fill::before { content: map-get($bootstrap-icons-map, "file-word-fill"); } +.bi-file-word::before { content: map-get($bootstrap-icons-map, "file-word"); } +.bi-file-x-fill::before { content: map-get($bootstrap-icons-map, "file-x-fill"); } +.bi-file-x::before { content: map-get($bootstrap-icons-map, "file-x"); } +.bi-file-zip-fill::before { content: map-get($bootstrap-icons-map, "file-zip-fill"); } +.bi-file-zip::before { content: map-get($bootstrap-icons-map, "file-zip"); } +.bi-file::before { content: map-get($bootstrap-icons-map, "file"); } +.bi-files-alt::before { content: map-get($bootstrap-icons-map, "files-alt"); } +.bi-files::before { content: map-get($bootstrap-icons-map, "files"); } +.bi-film::before { content: map-get($bootstrap-icons-map, "film"); } +.bi-filter-circle-fill::before { content: map-get($bootstrap-icons-map, "filter-circle-fill"); } +.bi-filter-circle::before { content: map-get($bootstrap-icons-map, "filter-circle"); } +.bi-filter-left::before { content: map-get($bootstrap-icons-map, "filter-left"); } +.bi-filter-right::before { content: map-get($bootstrap-icons-map, "filter-right"); } +.bi-filter-square-fill::before { content: map-get($bootstrap-icons-map, "filter-square-fill"); } +.bi-filter-square::before { content: map-get($bootstrap-icons-map, "filter-square"); } +.bi-filter::before { content: map-get($bootstrap-icons-map, "filter"); } +.bi-flag-fill::before { content: map-get($bootstrap-icons-map, "flag-fill"); } +.bi-flag::before { content: map-get($bootstrap-icons-map, "flag"); } +.bi-flower1::before { content: map-get($bootstrap-icons-map, "flower1"); } +.bi-flower2::before { content: map-get($bootstrap-icons-map, "flower2"); } +.bi-flower3::before { content: map-get($bootstrap-icons-map, "flower3"); } +.bi-folder-check::before { content: map-get($bootstrap-icons-map, "folder-check"); } +.bi-folder-fill::before { content: map-get($bootstrap-icons-map, "folder-fill"); } +.bi-folder-minus::before { content: map-get($bootstrap-icons-map, "folder-minus"); } +.bi-folder-plus::before { content: map-get($bootstrap-icons-map, "folder-plus"); } +.bi-folder-symlink-fill::before { content: map-get($bootstrap-icons-map, "folder-symlink-fill"); } +.bi-folder-symlink::before { content: map-get($bootstrap-icons-map, "folder-symlink"); } +.bi-folder-x::before { content: map-get($bootstrap-icons-map, "folder-x"); } +.bi-folder::before { content: map-get($bootstrap-icons-map, "folder"); } +.bi-folder2-open::before { content: map-get($bootstrap-icons-map, "folder2-open"); } +.bi-folder2::before { content: map-get($bootstrap-icons-map, "folder2"); } +.bi-fonts::before { content: map-get($bootstrap-icons-map, "fonts"); } +.bi-forward-fill::before { content: map-get($bootstrap-icons-map, "forward-fill"); } +.bi-forward::before { content: map-get($bootstrap-icons-map, "forward"); } +.bi-front::before { content: map-get($bootstrap-icons-map, "front"); } +.bi-fullscreen-exit::before { content: map-get($bootstrap-icons-map, "fullscreen-exit"); } +.bi-fullscreen::before { content: map-get($bootstrap-icons-map, "fullscreen"); } +.bi-funnel-fill::before { content: map-get($bootstrap-icons-map, "funnel-fill"); } +.bi-funnel::before { content: map-get($bootstrap-icons-map, "funnel"); } +.bi-gear-fill::before { content: map-get($bootstrap-icons-map, "gear-fill"); } +.bi-gear-wide-connected::before { content: map-get($bootstrap-icons-map, "gear-wide-connected"); } +.bi-gear-wide::before { content: map-get($bootstrap-icons-map, "gear-wide"); } +.bi-gear::before { content: map-get($bootstrap-icons-map, "gear"); } +.bi-gem::before { content: map-get($bootstrap-icons-map, "gem"); } +.bi-geo-alt-fill::before { content: map-get($bootstrap-icons-map, "geo-alt-fill"); } +.bi-geo-alt::before { content: map-get($bootstrap-icons-map, "geo-alt"); } +.bi-geo-fill::before { content: map-get($bootstrap-icons-map, "geo-fill"); } +.bi-geo::before { content: map-get($bootstrap-icons-map, "geo"); } +.bi-gift-fill::before { content: map-get($bootstrap-icons-map, "gift-fill"); } +.bi-gift::before { content: map-get($bootstrap-icons-map, "gift"); } +.bi-github::before { content: map-get($bootstrap-icons-map, "github"); } +.bi-globe::before { content: map-get($bootstrap-icons-map, "globe"); } +.bi-globe2::before { content: map-get($bootstrap-icons-map, "globe2"); } +.bi-google::before { content: map-get($bootstrap-icons-map, "google"); } +.bi-graph-down::before { content: map-get($bootstrap-icons-map, "graph-down"); } +.bi-graph-up::before { content: map-get($bootstrap-icons-map, "graph-up"); } +.bi-grid-1x2-fill::before { content: map-get($bootstrap-icons-map, "grid-1x2-fill"); } +.bi-grid-1x2::before { content: map-get($bootstrap-icons-map, "grid-1x2"); } +.bi-grid-3x2-gap-fill::before { content: map-get($bootstrap-icons-map, "grid-3x2-gap-fill"); } +.bi-grid-3x2-gap::before { content: map-get($bootstrap-icons-map, "grid-3x2-gap"); } +.bi-grid-3x2::before { content: map-get($bootstrap-icons-map, "grid-3x2"); } +.bi-grid-3x3-gap-fill::before { content: map-get($bootstrap-icons-map, "grid-3x3-gap-fill"); } +.bi-grid-3x3-gap::before { content: map-get($bootstrap-icons-map, "grid-3x3-gap"); } +.bi-grid-3x3::before { content: map-get($bootstrap-icons-map, "grid-3x3"); } +.bi-grid-fill::before { content: map-get($bootstrap-icons-map, "grid-fill"); } +.bi-grid::before { content: map-get($bootstrap-icons-map, "grid"); } +.bi-grip-horizontal::before { content: map-get($bootstrap-icons-map, "grip-horizontal"); } +.bi-grip-vertical::before { content: map-get($bootstrap-icons-map, "grip-vertical"); } +.bi-hammer::before { content: map-get($bootstrap-icons-map, "hammer"); } +.bi-hand-index-fill::before { content: map-get($bootstrap-icons-map, "hand-index-fill"); } +.bi-hand-index-thumb-fill::before { content: map-get($bootstrap-icons-map, "hand-index-thumb-fill"); } +.bi-hand-index-thumb::before { content: map-get($bootstrap-icons-map, "hand-index-thumb"); } +.bi-hand-index::before { content: map-get($bootstrap-icons-map, "hand-index"); } +.bi-hand-thumbs-down-fill::before { content: map-get($bootstrap-icons-map, "hand-thumbs-down-fill"); } +.bi-hand-thumbs-down::before { content: map-get($bootstrap-icons-map, "hand-thumbs-down"); } +.bi-hand-thumbs-up-fill::before { content: map-get($bootstrap-icons-map, "hand-thumbs-up-fill"); } +.bi-hand-thumbs-up::before { content: map-get($bootstrap-icons-map, "hand-thumbs-up"); } +.bi-handbag-fill::before { content: map-get($bootstrap-icons-map, "handbag-fill"); } +.bi-handbag::before { content: map-get($bootstrap-icons-map, "handbag"); } +.bi-hash::before { content: map-get($bootstrap-icons-map, "hash"); } +.bi-hdd-fill::before { content: map-get($bootstrap-icons-map, "hdd-fill"); } +.bi-hdd-network-fill::before { content: map-get($bootstrap-icons-map, "hdd-network-fill"); } +.bi-hdd-network::before { content: map-get($bootstrap-icons-map, "hdd-network"); } +.bi-hdd-rack-fill::before { content: map-get($bootstrap-icons-map, "hdd-rack-fill"); } +.bi-hdd-rack::before { content: map-get($bootstrap-icons-map, "hdd-rack"); } +.bi-hdd-stack-fill::before { content: map-get($bootstrap-icons-map, "hdd-stack-fill"); } +.bi-hdd-stack::before { content: map-get($bootstrap-icons-map, "hdd-stack"); } +.bi-hdd::before { content: map-get($bootstrap-icons-map, "hdd"); } +.bi-headphones::before { content: map-get($bootstrap-icons-map, "headphones"); } +.bi-headset::before { content: map-get($bootstrap-icons-map, "headset"); } +.bi-heart-fill::before { content: map-get($bootstrap-icons-map, "heart-fill"); } +.bi-heart-half::before { content: map-get($bootstrap-icons-map, "heart-half"); } +.bi-heart::before { content: map-get($bootstrap-icons-map, "heart"); } +.bi-heptagon-fill::before { content: map-get($bootstrap-icons-map, "heptagon-fill"); } +.bi-heptagon-half::before { content: map-get($bootstrap-icons-map, "heptagon-half"); } +.bi-heptagon::before { content: map-get($bootstrap-icons-map, "heptagon"); } +.bi-hexagon-fill::before { content: map-get($bootstrap-icons-map, "hexagon-fill"); } +.bi-hexagon-half::before { content: map-get($bootstrap-icons-map, "hexagon-half"); } +.bi-hexagon::before { content: map-get($bootstrap-icons-map, "hexagon"); } +.bi-hourglass-bottom::before { content: map-get($bootstrap-icons-map, "hourglass-bottom"); } +.bi-hourglass-split::before { content: map-get($bootstrap-icons-map, "hourglass-split"); } +.bi-hourglass-top::before { content: map-get($bootstrap-icons-map, "hourglass-top"); } +.bi-hourglass::before { content: map-get($bootstrap-icons-map, "hourglass"); } +.bi-house-door-fill::before { content: map-get($bootstrap-icons-map, "house-door-fill"); } +.bi-house-door::before { content: map-get($bootstrap-icons-map, "house-door"); } +.bi-house-fill::before { content: map-get($bootstrap-icons-map, "house-fill"); } +.bi-house::before { content: map-get($bootstrap-icons-map, "house"); } +.bi-hr::before { content: map-get($bootstrap-icons-map, "hr"); } +.bi-hurricane::before { content: map-get($bootstrap-icons-map, "hurricane"); } +.bi-image-alt::before { content: map-get($bootstrap-icons-map, "image-alt"); } +.bi-image-fill::before { content: map-get($bootstrap-icons-map, "image-fill"); } +.bi-image::before { content: map-get($bootstrap-icons-map, "image"); } +.bi-images::before { content: map-get($bootstrap-icons-map, "images"); } +.bi-inbox-fill::before { content: map-get($bootstrap-icons-map, "inbox-fill"); } +.bi-inbox::before { content: map-get($bootstrap-icons-map, "inbox"); } +.bi-inboxes-fill::before { content: map-get($bootstrap-icons-map, "inboxes-fill"); } +.bi-inboxes::before { content: map-get($bootstrap-icons-map, "inboxes"); } +.bi-info-circle-fill::before { content: map-get($bootstrap-icons-map, "info-circle-fill"); } +.bi-info-circle::before { content: map-get($bootstrap-icons-map, "info-circle"); } +.bi-info-square-fill::before { content: map-get($bootstrap-icons-map, "info-square-fill"); } +.bi-info-square::before { content: map-get($bootstrap-icons-map, "info-square"); } +.bi-info::before { content: map-get($bootstrap-icons-map, "info"); } +.bi-input-cursor-text::before { content: map-get($bootstrap-icons-map, "input-cursor-text"); } +.bi-input-cursor::before { content: map-get($bootstrap-icons-map, "input-cursor"); } +.bi-instagram::before { content: map-get($bootstrap-icons-map, "instagram"); } +.bi-intersect::before { content: map-get($bootstrap-icons-map, "intersect"); } +.bi-journal-album::before { content: map-get($bootstrap-icons-map, "journal-album"); } +.bi-journal-arrow-down::before { content: map-get($bootstrap-icons-map, "journal-arrow-down"); } +.bi-journal-arrow-up::before { content: map-get($bootstrap-icons-map, "journal-arrow-up"); } +.bi-journal-bookmark-fill::before { content: map-get($bootstrap-icons-map, "journal-bookmark-fill"); } +.bi-journal-bookmark::before { content: map-get($bootstrap-icons-map, "journal-bookmark"); } +.bi-journal-check::before { content: map-get($bootstrap-icons-map, "journal-check"); } +.bi-journal-code::before { content: map-get($bootstrap-icons-map, "journal-code"); } +.bi-journal-medical::before { content: map-get($bootstrap-icons-map, "journal-medical"); } +.bi-journal-minus::before { content: map-get($bootstrap-icons-map, "journal-minus"); } +.bi-journal-plus::before { content: map-get($bootstrap-icons-map, "journal-plus"); } +.bi-journal-richtext::before { content: map-get($bootstrap-icons-map, "journal-richtext"); } +.bi-journal-text::before { content: map-get($bootstrap-icons-map, "journal-text"); } +.bi-journal-x::before { content: map-get($bootstrap-icons-map, "journal-x"); } +.bi-journal::before { content: map-get($bootstrap-icons-map, "journal"); } +.bi-journals::before { content: map-get($bootstrap-icons-map, "journals"); } +.bi-joystick::before { content: map-get($bootstrap-icons-map, "joystick"); } +.bi-justify-left::before { content: map-get($bootstrap-icons-map, "justify-left"); } +.bi-justify-right::before { content: map-get($bootstrap-icons-map, "justify-right"); } +.bi-justify::before { content: map-get($bootstrap-icons-map, "justify"); } +.bi-kanban-fill::before { content: map-get($bootstrap-icons-map, "kanban-fill"); } +.bi-kanban::before { content: map-get($bootstrap-icons-map, "kanban"); } +.bi-key-fill::before { content: map-get($bootstrap-icons-map, "key-fill"); } +.bi-key::before { content: map-get($bootstrap-icons-map, "key"); } +.bi-keyboard-fill::before { content: map-get($bootstrap-icons-map, "keyboard-fill"); } +.bi-keyboard::before { content: map-get($bootstrap-icons-map, "keyboard"); } +.bi-ladder::before { content: map-get($bootstrap-icons-map, "ladder"); } +.bi-lamp-fill::before { content: map-get($bootstrap-icons-map, "lamp-fill"); } +.bi-lamp::before { content: map-get($bootstrap-icons-map, "lamp"); } +.bi-laptop-fill::before { content: map-get($bootstrap-icons-map, "laptop-fill"); } +.bi-laptop::before { content: map-get($bootstrap-icons-map, "laptop"); } +.bi-layer-backward::before { content: map-get($bootstrap-icons-map, "layer-backward"); } +.bi-layer-forward::before { content: map-get($bootstrap-icons-map, "layer-forward"); } +.bi-layers-fill::before { content: map-get($bootstrap-icons-map, "layers-fill"); } +.bi-layers-half::before { content: map-get($bootstrap-icons-map, "layers-half"); } +.bi-layers::before { content: map-get($bootstrap-icons-map, "layers"); } +.bi-layout-sidebar-inset-reverse::before { content: map-get($bootstrap-icons-map, "layout-sidebar-inset-reverse"); } +.bi-layout-sidebar-inset::before { content: map-get($bootstrap-icons-map, "layout-sidebar-inset"); } +.bi-layout-sidebar-reverse::before { content: map-get($bootstrap-icons-map, "layout-sidebar-reverse"); } +.bi-layout-sidebar::before { content: map-get($bootstrap-icons-map, "layout-sidebar"); } +.bi-layout-split::before { content: map-get($bootstrap-icons-map, "layout-split"); } +.bi-layout-text-sidebar-reverse::before { content: map-get($bootstrap-icons-map, "layout-text-sidebar-reverse"); } +.bi-layout-text-sidebar::before { content: map-get($bootstrap-icons-map, "layout-text-sidebar"); } +.bi-layout-text-window-reverse::before { content: map-get($bootstrap-icons-map, "layout-text-window-reverse"); } +.bi-layout-text-window::before { content: map-get($bootstrap-icons-map, "layout-text-window"); } +.bi-layout-three-columns::before { content: map-get($bootstrap-icons-map, "layout-three-columns"); } +.bi-layout-wtf::before { content: map-get($bootstrap-icons-map, "layout-wtf"); } +.bi-life-preserver::before { content: map-get($bootstrap-icons-map, "life-preserver"); } +.bi-lightbulb-fill::before { content: map-get($bootstrap-icons-map, "lightbulb-fill"); } +.bi-lightbulb-off-fill::before { content: map-get($bootstrap-icons-map, "lightbulb-off-fill"); } +.bi-lightbulb-off::before { content: map-get($bootstrap-icons-map, "lightbulb-off"); } +.bi-lightbulb::before { content: map-get($bootstrap-icons-map, "lightbulb"); } +.bi-lightning-charge-fill::before { content: map-get($bootstrap-icons-map, "lightning-charge-fill"); } +.bi-lightning-charge::before { content: map-get($bootstrap-icons-map, "lightning-charge"); } +.bi-lightning-fill::before { content: map-get($bootstrap-icons-map, "lightning-fill"); } +.bi-lightning::before { content: map-get($bootstrap-icons-map, "lightning"); } +.bi-link-45deg::before { content: map-get($bootstrap-icons-map, "link-45deg"); } +.bi-link::before { content: map-get($bootstrap-icons-map, "link"); } +.bi-linkedin::before { content: map-get($bootstrap-icons-map, "linkedin"); } +.bi-list-check::before { content: map-get($bootstrap-icons-map, "list-check"); } +.bi-list-nested::before { content: map-get($bootstrap-icons-map, "list-nested"); } +.bi-list-ol::before { content: map-get($bootstrap-icons-map, "list-ol"); } +.bi-list-stars::before { content: map-get($bootstrap-icons-map, "list-stars"); } +.bi-list-task::before { content: map-get($bootstrap-icons-map, "list-task"); } +.bi-list-ul::before { content: map-get($bootstrap-icons-map, "list-ul"); } +.bi-list::before { content: map-get($bootstrap-icons-map, "list"); } +.bi-lock-fill::before { content: map-get($bootstrap-icons-map, "lock-fill"); } +.bi-lock::before { content: map-get($bootstrap-icons-map, "lock"); } +.bi-mailbox::before { content: map-get($bootstrap-icons-map, "mailbox"); } +.bi-mailbox2::before { content: map-get($bootstrap-icons-map, "mailbox2"); } +.bi-map-fill::before { content: map-get($bootstrap-icons-map, "map-fill"); } +.bi-map::before { content: map-get($bootstrap-icons-map, "map"); } +.bi-markdown-fill::before { content: map-get($bootstrap-icons-map, "markdown-fill"); } +.bi-markdown::before { content: map-get($bootstrap-icons-map, "markdown"); } +.bi-mask::before { content: map-get($bootstrap-icons-map, "mask"); } +.bi-megaphone-fill::before { content: map-get($bootstrap-icons-map, "megaphone-fill"); } +.bi-megaphone::before { content: map-get($bootstrap-icons-map, "megaphone"); } +.bi-menu-app-fill::before { content: map-get($bootstrap-icons-map, "menu-app-fill"); } +.bi-menu-app::before { content: map-get($bootstrap-icons-map, "menu-app"); } +.bi-menu-button-fill::before { content: map-get($bootstrap-icons-map, "menu-button-fill"); } +.bi-menu-button-wide-fill::before { content: map-get($bootstrap-icons-map, "menu-button-wide-fill"); } +.bi-menu-button-wide::before { content: map-get($bootstrap-icons-map, "menu-button-wide"); } +.bi-menu-button::before { content: map-get($bootstrap-icons-map, "menu-button"); } +.bi-menu-down::before { content: map-get($bootstrap-icons-map, "menu-down"); } +.bi-menu-up::before { content: map-get($bootstrap-icons-map, "menu-up"); } +.bi-mic-fill::before { content: map-get($bootstrap-icons-map, "mic-fill"); } +.bi-mic-mute-fill::before { content: map-get($bootstrap-icons-map, "mic-mute-fill"); } +.bi-mic-mute::before { content: map-get($bootstrap-icons-map, "mic-mute"); } +.bi-mic::before { content: map-get($bootstrap-icons-map, "mic"); } +.bi-minecart-loaded::before { content: map-get($bootstrap-icons-map, "minecart-loaded"); } +.bi-minecart::before { content: map-get($bootstrap-icons-map, "minecart"); } +.bi-moisture::before { content: map-get($bootstrap-icons-map, "moisture"); } +.bi-moon-fill::before { content: map-get($bootstrap-icons-map, "moon-fill"); } +.bi-moon-stars-fill::before { content: map-get($bootstrap-icons-map, "moon-stars-fill"); } +.bi-moon-stars::before { content: map-get($bootstrap-icons-map, "moon-stars"); } +.bi-moon::before { content: map-get($bootstrap-icons-map, "moon"); } +.bi-mouse-fill::before { content: map-get($bootstrap-icons-map, "mouse-fill"); } +.bi-mouse::before { content: map-get($bootstrap-icons-map, "mouse"); } +.bi-mouse2-fill::before { content: map-get($bootstrap-icons-map, "mouse2-fill"); } +.bi-mouse2::before { content: map-get($bootstrap-icons-map, "mouse2"); } +.bi-mouse3-fill::before { content: map-get($bootstrap-icons-map, "mouse3-fill"); } +.bi-mouse3::before { content: map-get($bootstrap-icons-map, "mouse3"); } +.bi-music-note-beamed::before { content: map-get($bootstrap-icons-map, "music-note-beamed"); } +.bi-music-note-list::before { content: map-get($bootstrap-icons-map, "music-note-list"); } +.bi-music-note::before { content: map-get($bootstrap-icons-map, "music-note"); } +.bi-music-player-fill::before { content: map-get($bootstrap-icons-map, "music-player-fill"); } +.bi-music-player::before { content: map-get($bootstrap-icons-map, "music-player"); } +.bi-newspaper::before { content: map-get($bootstrap-icons-map, "newspaper"); } +.bi-node-minus-fill::before { content: map-get($bootstrap-icons-map, "node-minus-fill"); } +.bi-node-minus::before { content: map-get($bootstrap-icons-map, "node-minus"); } +.bi-node-plus-fill::before { content: map-get($bootstrap-icons-map, "node-plus-fill"); } +.bi-node-plus::before { content: map-get($bootstrap-icons-map, "node-plus"); } +.bi-nut-fill::before { content: map-get($bootstrap-icons-map, "nut-fill"); } +.bi-nut::before { content: map-get($bootstrap-icons-map, "nut"); } +.bi-octagon-fill::before { content: map-get($bootstrap-icons-map, "octagon-fill"); } +.bi-octagon-half::before { content: map-get($bootstrap-icons-map, "octagon-half"); } +.bi-octagon::before { content: map-get($bootstrap-icons-map, "octagon"); } +.bi-option::before { content: map-get($bootstrap-icons-map, "option"); } +.bi-outlet::before { content: map-get($bootstrap-icons-map, "outlet"); } +.bi-paint-bucket::before { content: map-get($bootstrap-icons-map, "paint-bucket"); } +.bi-palette-fill::before { content: map-get($bootstrap-icons-map, "palette-fill"); } +.bi-palette::before { content: map-get($bootstrap-icons-map, "palette"); } +.bi-palette2::before { content: map-get($bootstrap-icons-map, "palette2"); } +.bi-paperclip::before { content: map-get($bootstrap-icons-map, "paperclip"); } +.bi-paragraph::before { content: map-get($bootstrap-icons-map, "paragraph"); } +.bi-patch-check-fill::before { content: map-get($bootstrap-icons-map, "patch-check-fill"); } +.bi-patch-check::before { content: map-get($bootstrap-icons-map, "patch-check"); } +.bi-patch-exclamation-fill::before { content: map-get($bootstrap-icons-map, "patch-exclamation-fill"); } +.bi-patch-exclamation::before { content: map-get($bootstrap-icons-map, "patch-exclamation"); } +.bi-patch-minus-fill::before { content: map-get($bootstrap-icons-map, "patch-minus-fill"); } +.bi-patch-minus::before { content: map-get($bootstrap-icons-map, "patch-minus"); } +.bi-patch-plus-fill::before { content: map-get($bootstrap-icons-map, "patch-plus-fill"); } +.bi-patch-plus::before { content: map-get($bootstrap-icons-map, "patch-plus"); } +.bi-patch-question-fill::before { content: map-get($bootstrap-icons-map, "patch-question-fill"); } +.bi-patch-question::before { content: map-get($bootstrap-icons-map, "patch-question"); } +.bi-pause-btn-fill::before { content: map-get($bootstrap-icons-map, "pause-btn-fill"); } +.bi-pause-btn::before { content: map-get($bootstrap-icons-map, "pause-btn"); } +.bi-pause-circle-fill::before { content: map-get($bootstrap-icons-map, "pause-circle-fill"); } +.bi-pause-circle::before { content: map-get($bootstrap-icons-map, "pause-circle"); } +.bi-pause-fill::before { content: map-get($bootstrap-icons-map, "pause-fill"); } +.bi-pause::before { content: map-get($bootstrap-icons-map, "pause"); } +.bi-peace-fill::before { content: map-get($bootstrap-icons-map, "peace-fill"); } +.bi-peace::before { content: map-get($bootstrap-icons-map, "peace"); } +.bi-pen-fill::before { content: map-get($bootstrap-icons-map, "pen-fill"); } +.bi-pen::before { content: map-get($bootstrap-icons-map, "pen"); } +.bi-pencil-fill::before { content: map-get($bootstrap-icons-map, "pencil-fill"); } +.bi-pencil-square::before { content: map-get($bootstrap-icons-map, "pencil-square"); } +.bi-pencil::before { content: map-get($bootstrap-icons-map, "pencil"); } +.bi-pentagon-fill::before { content: map-get($bootstrap-icons-map, "pentagon-fill"); } +.bi-pentagon-half::before { content: map-get($bootstrap-icons-map, "pentagon-half"); } +.bi-pentagon::before { content: map-get($bootstrap-icons-map, "pentagon"); } +.bi-people-fill::before { content: map-get($bootstrap-icons-map, "people-fill"); } +.bi-people::before { content: map-get($bootstrap-icons-map, "people"); } +.bi-percent::before { content: map-get($bootstrap-icons-map, "percent"); } +.bi-person-badge-fill::before { content: map-get($bootstrap-icons-map, "person-badge-fill"); } +.bi-person-badge::before { content: map-get($bootstrap-icons-map, "person-badge"); } +.bi-person-bounding-box::before { content: map-get($bootstrap-icons-map, "person-bounding-box"); } +.bi-person-check-fill::before { content: map-get($bootstrap-icons-map, "person-check-fill"); } +.bi-person-check::before { content: map-get($bootstrap-icons-map, "person-check"); } +.bi-person-circle::before { content: map-get($bootstrap-icons-map, "person-circle"); } +.bi-person-dash-fill::before { content: map-get($bootstrap-icons-map, "person-dash-fill"); } +.bi-person-dash::before { content: map-get($bootstrap-icons-map, "person-dash"); } +.bi-person-fill::before { content: map-get($bootstrap-icons-map, "person-fill"); } +.bi-person-lines-fill::before { content: map-get($bootstrap-icons-map, "person-lines-fill"); } +.bi-person-plus-fill::before { content: map-get($bootstrap-icons-map, "person-plus-fill"); } +.bi-person-plus::before { content: map-get($bootstrap-icons-map, "person-plus"); } +.bi-person-square::before { content: map-get($bootstrap-icons-map, "person-square"); } +.bi-person-x-fill::before { content: map-get($bootstrap-icons-map, "person-x-fill"); } +.bi-person-x::before { content: map-get($bootstrap-icons-map, "person-x"); } +.bi-person::before { content: map-get($bootstrap-icons-map, "person"); } +.bi-phone-fill::before { content: map-get($bootstrap-icons-map, "phone-fill"); } +.bi-phone-landscape-fill::before { content: map-get($bootstrap-icons-map, "phone-landscape-fill"); } +.bi-phone-landscape::before { content: map-get($bootstrap-icons-map, "phone-landscape"); } +.bi-phone-vibrate-fill::before { content: map-get($bootstrap-icons-map, "phone-vibrate-fill"); } +.bi-phone-vibrate::before { content: map-get($bootstrap-icons-map, "phone-vibrate"); } +.bi-phone::before { content: map-get($bootstrap-icons-map, "phone"); } +.bi-pie-chart-fill::before { content: map-get($bootstrap-icons-map, "pie-chart-fill"); } +.bi-pie-chart::before { content: map-get($bootstrap-icons-map, "pie-chart"); } +.bi-pin-angle-fill::before { content: map-get($bootstrap-icons-map, "pin-angle-fill"); } +.bi-pin-angle::before { content: map-get($bootstrap-icons-map, "pin-angle"); } +.bi-pin-fill::before { content: map-get($bootstrap-icons-map, "pin-fill"); } +.bi-pin::before { content: map-get($bootstrap-icons-map, "pin"); } +.bi-pip-fill::before { content: map-get($bootstrap-icons-map, "pip-fill"); } +.bi-pip::before { content: map-get($bootstrap-icons-map, "pip"); } +.bi-play-btn-fill::before { content: map-get($bootstrap-icons-map, "play-btn-fill"); } +.bi-play-btn::before { content: map-get($bootstrap-icons-map, "play-btn"); } +.bi-play-circle-fill::before { content: map-get($bootstrap-icons-map, "play-circle-fill"); } +.bi-play-circle::before { content: map-get($bootstrap-icons-map, "play-circle"); } +.bi-play-fill::before { content: map-get($bootstrap-icons-map, "play-fill"); } +.bi-play::before { content: map-get($bootstrap-icons-map, "play"); } +.bi-plug-fill::before { content: map-get($bootstrap-icons-map, "plug-fill"); } +.bi-plug::before { content: map-get($bootstrap-icons-map, "plug"); } +.bi-plus-circle-dotted::before { content: map-get($bootstrap-icons-map, "plus-circle-dotted"); } +.bi-plus-circle-fill::before { content: map-get($bootstrap-icons-map, "plus-circle-fill"); } +.bi-plus-circle::before { content: map-get($bootstrap-icons-map, "plus-circle"); } +.bi-plus-square-dotted::before { content: map-get($bootstrap-icons-map, "plus-square-dotted"); } +.bi-plus-square-fill::before { content: map-get($bootstrap-icons-map, "plus-square-fill"); } +.bi-plus-square::before { content: map-get($bootstrap-icons-map, "plus-square"); } +.bi-plus::before { content: map-get($bootstrap-icons-map, "plus"); } +.bi-power::before { content: map-get($bootstrap-icons-map, "power"); } +.bi-printer-fill::before { content: map-get($bootstrap-icons-map, "printer-fill"); } +.bi-printer::before { content: map-get($bootstrap-icons-map, "printer"); } +.bi-puzzle-fill::before { content: map-get($bootstrap-icons-map, "puzzle-fill"); } +.bi-puzzle::before { content: map-get($bootstrap-icons-map, "puzzle"); } +.bi-question-circle-fill::before { content: map-get($bootstrap-icons-map, "question-circle-fill"); } +.bi-question-circle::before { content: map-get($bootstrap-icons-map, "question-circle"); } +.bi-question-diamond-fill::before { content: map-get($bootstrap-icons-map, "question-diamond-fill"); } +.bi-question-diamond::before { content: map-get($bootstrap-icons-map, "question-diamond"); } +.bi-question-octagon-fill::before { content: map-get($bootstrap-icons-map, "question-octagon-fill"); } +.bi-question-octagon::before { content: map-get($bootstrap-icons-map, "question-octagon"); } +.bi-question-square-fill::before { content: map-get($bootstrap-icons-map, "question-square-fill"); } +.bi-question-square::before { content: map-get($bootstrap-icons-map, "question-square"); } +.bi-question::before { content: map-get($bootstrap-icons-map, "question"); } +.bi-rainbow::before { content: map-get($bootstrap-icons-map, "rainbow"); } +.bi-receipt-cutoff::before { content: map-get($bootstrap-icons-map, "receipt-cutoff"); } +.bi-receipt::before { content: map-get($bootstrap-icons-map, "receipt"); } +.bi-reception-0::before { content: map-get($bootstrap-icons-map, "reception-0"); } +.bi-reception-1::before { content: map-get($bootstrap-icons-map, "reception-1"); } +.bi-reception-2::before { content: map-get($bootstrap-icons-map, "reception-2"); } +.bi-reception-3::before { content: map-get($bootstrap-icons-map, "reception-3"); } +.bi-reception-4::before { content: map-get($bootstrap-icons-map, "reception-4"); } +.bi-record-btn-fill::before { content: map-get($bootstrap-icons-map, "record-btn-fill"); } +.bi-record-btn::before { content: map-get($bootstrap-icons-map, "record-btn"); } +.bi-record-circle-fill::before { content: map-get($bootstrap-icons-map, "record-circle-fill"); } +.bi-record-circle::before { content: map-get($bootstrap-icons-map, "record-circle"); } +.bi-record-fill::before { content: map-get($bootstrap-icons-map, "record-fill"); } +.bi-record::before { content: map-get($bootstrap-icons-map, "record"); } +.bi-record2-fill::before { content: map-get($bootstrap-icons-map, "record2-fill"); } +.bi-record2::before { content: map-get($bootstrap-icons-map, "record2"); } +.bi-reply-all-fill::before { content: map-get($bootstrap-icons-map, "reply-all-fill"); } +.bi-reply-all::before { content: map-get($bootstrap-icons-map, "reply-all"); } +.bi-reply-fill::before { content: map-get($bootstrap-icons-map, "reply-fill"); } +.bi-reply::before { content: map-get($bootstrap-icons-map, "reply"); } +.bi-rss-fill::before { content: map-get($bootstrap-icons-map, "rss-fill"); } +.bi-rss::before { content: map-get($bootstrap-icons-map, "rss"); } +.bi-rulers::before { content: map-get($bootstrap-icons-map, "rulers"); } +.bi-save-fill::before { content: map-get($bootstrap-icons-map, "save-fill"); } +.bi-save::before { content: map-get($bootstrap-icons-map, "save"); } +.bi-save2-fill::before { content: map-get($bootstrap-icons-map, "save2-fill"); } +.bi-save2::before { content: map-get($bootstrap-icons-map, "save2"); } +.bi-scissors::before { content: map-get($bootstrap-icons-map, "scissors"); } +.bi-screwdriver::before { content: map-get($bootstrap-icons-map, "screwdriver"); } +.bi-search::before { content: map-get($bootstrap-icons-map, "search"); } +.bi-segmented-nav::before { content: map-get($bootstrap-icons-map, "segmented-nav"); } +.bi-server::before { content: map-get($bootstrap-icons-map, "server"); } +.bi-share-fill::before { content: map-get($bootstrap-icons-map, "share-fill"); } +.bi-share::before { content: map-get($bootstrap-icons-map, "share"); } +.bi-shield-check::before { content: map-get($bootstrap-icons-map, "shield-check"); } +.bi-shield-exclamation::before { content: map-get($bootstrap-icons-map, "shield-exclamation"); } +.bi-shield-fill-check::before { content: map-get($bootstrap-icons-map, "shield-fill-check"); } +.bi-shield-fill-exclamation::before { content: map-get($bootstrap-icons-map, "shield-fill-exclamation"); } +.bi-shield-fill-minus::before { content: map-get($bootstrap-icons-map, "shield-fill-minus"); } +.bi-shield-fill-plus::before { content: map-get($bootstrap-icons-map, "shield-fill-plus"); } +.bi-shield-fill-x::before { content: map-get($bootstrap-icons-map, "shield-fill-x"); } +.bi-shield-fill::before { content: map-get($bootstrap-icons-map, "shield-fill"); } +.bi-shield-lock-fill::before { content: map-get($bootstrap-icons-map, "shield-lock-fill"); } +.bi-shield-lock::before { content: map-get($bootstrap-icons-map, "shield-lock"); } +.bi-shield-minus::before { content: map-get($bootstrap-icons-map, "shield-minus"); } +.bi-shield-plus::before { content: map-get($bootstrap-icons-map, "shield-plus"); } +.bi-shield-shaded::before { content: map-get($bootstrap-icons-map, "shield-shaded"); } +.bi-shield-slash-fill::before { content: map-get($bootstrap-icons-map, "shield-slash-fill"); } +.bi-shield-slash::before { content: map-get($bootstrap-icons-map, "shield-slash"); } +.bi-shield-x::before { content: map-get($bootstrap-icons-map, "shield-x"); } +.bi-shield::before { content: map-get($bootstrap-icons-map, "shield"); } +.bi-shift-fill::before { content: map-get($bootstrap-icons-map, "shift-fill"); } +.bi-shift::before { content: map-get($bootstrap-icons-map, "shift"); } +.bi-shop-window::before { content: map-get($bootstrap-icons-map, "shop-window"); } +.bi-shop::before { content: map-get($bootstrap-icons-map, "shop"); } +.bi-shuffle::before { content: map-get($bootstrap-icons-map, "shuffle"); } +.bi-signpost-2-fill::before { content: map-get($bootstrap-icons-map, "signpost-2-fill"); } +.bi-signpost-2::before { content: map-get($bootstrap-icons-map, "signpost-2"); } +.bi-signpost-fill::before { content: map-get($bootstrap-icons-map, "signpost-fill"); } +.bi-signpost-split-fill::before { content: map-get($bootstrap-icons-map, "signpost-split-fill"); } +.bi-signpost-split::before { content: map-get($bootstrap-icons-map, "signpost-split"); } +.bi-signpost::before { content: map-get($bootstrap-icons-map, "signpost"); } +.bi-sim-fill::before { content: map-get($bootstrap-icons-map, "sim-fill"); } +.bi-sim::before { content: map-get($bootstrap-icons-map, "sim"); } +.bi-skip-backward-btn-fill::before { content: map-get($bootstrap-icons-map, "skip-backward-btn-fill"); } +.bi-skip-backward-btn::before { content: map-get($bootstrap-icons-map, "skip-backward-btn"); } +.bi-skip-backward-circle-fill::before { content: map-get($bootstrap-icons-map, "skip-backward-circle-fill"); } +.bi-skip-backward-circle::before { content: map-get($bootstrap-icons-map, "skip-backward-circle"); } +.bi-skip-backward-fill::before { content: map-get($bootstrap-icons-map, "skip-backward-fill"); } +.bi-skip-backward::before { content: map-get($bootstrap-icons-map, "skip-backward"); } +.bi-skip-end-btn-fill::before { content: map-get($bootstrap-icons-map, "skip-end-btn-fill"); } +.bi-skip-end-btn::before { content: map-get($bootstrap-icons-map, "skip-end-btn"); } +.bi-skip-end-circle-fill::before { content: map-get($bootstrap-icons-map, "skip-end-circle-fill"); } +.bi-skip-end-circle::before { content: map-get($bootstrap-icons-map, "skip-end-circle"); } +.bi-skip-end-fill::before { content: map-get($bootstrap-icons-map, "skip-end-fill"); } +.bi-skip-end::before { content: map-get($bootstrap-icons-map, "skip-end"); } +.bi-skip-forward-btn-fill::before { content: map-get($bootstrap-icons-map, "skip-forward-btn-fill"); } +.bi-skip-forward-btn::before { content: map-get($bootstrap-icons-map, "skip-forward-btn"); } +.bi-skip-forward-circle-fill::before { content: map-get($bootstrap-icons-map, "skip-forward-circle-fill"); } +.bi-skip-forward-circle::before { content: map-get($bootstrap-icons-map, "skip-forward-circle"); } +.bi-skip-forward-fill::before { content: map-get($bootstrap-icons-map, "skip-forward-fill"); } +.bi-skip-forward::before { content: map-get($bootstrap-icons-map, "skip-forward"); } +.bi-skip-start-btn-fill::before { content: map-get($bootstrap-icons-map, "skip-start-btn-fill"); } +.bi-skip-start-btn::before { content: map-get($bootstrap-icons-map, "skip-start-btn"); } +.bi-skip-start-circle-fill::before { content: map-get($bootstrap-icons-map, "skip-start-circle-fill"); } +.bi-skip-start-circle::before { content: map-get($bootstrap-icons-map, "skip-start-circle"); } +.bi-skip-start-fill::before { content: map-get($bootstrap-icons-map, "skip-start-fill"); } +.bi-skip-start::before { content: map-get($bootstrap-icons-map, "skip-start"); } +.bi-slack::before { content: map-get($bootstrap-icons-map, "slack"); } +.bi-slash-circle-fill::before { content: map-get($bootstrap-icons-map, "slash-circle-fill"); } +.bi-slash-circle::before { content: map-get($bootstrap-icons-map, "slash-circle"); } +.bi-slash-square-fill::before { content: map-get($bootstrap-icons-map, "slash-square-fill"); } +.bi-slash-square::before { content: map-get($bootstrap-icons-map, "slash-square"); } +.bi-slash::before { content: map-get($bootstrap-icons-map, "slash"); } +.bi-sliders::before { content: map-get($bootstrap-icons-map, "sliders"); } +.bi-smartwatch::before { content: map-get($bootstrap-icons-map, "smartwatch"); } +.bi-snow::before { content: map-get($bootstrap-icons-map, "snow"); } +.bi-snow2::before { content: map-get($bootstrap-icons-map, "snow2"); } +.bi-snow3::before { content: map-get($bootstrap-icons-map, "snow3"); } +.bi-sort-alpha-down-alt::before { content: map-get($bootstrap-icons-map, "sort-alpha-down-alt"); } +.bi-sort-alpha-down::before { content: map-get($bootstrap-icons-map, "sort-alpha-down"); } +.bi-sort-alpha-up-alt::before { content: map-get($bootstrap-icons-map, "sort-alpha-up-alt"); } +.bi-sort-alpha-up::before { content: map-get($bootstrap-icons-map, "sort-alpha-up"); } +.bi-sort-down-alt::before { content: map-get($bootstrap-icons-map, "sort-down-alt"); } +.bi-sort-down::before { content: map-get($bootstrap-icons-map, "sort-down"); } +.bi-sort-numeric-down-alt::before { content: map-get($bootstrap-icons-map, "sort-numeric-down-alt"); } +.bi-sort-numeric-down::before { content: map-get($bootstrap-icons-map, "sort-numeric-down"); } +.bi-sort-numeric-up-alt::before { content: map-get($bootstrap-icons-map, "sort-numeric-up-alt"); } +.bi-sort-numeric-up::before { content: map-get($bootstrap-icons-map, "sort-numeric-up"); } +.bi-sort-up-alt::before { content: map-get($bootstrap-icons-map, "sort-up-alt"); } +.bi-sort-up::before { content: map-get($bootstrap-icons-map, "sort-up"); } +.bi-soundwave::before { content: map-get($bootstrap-icons-map, "soundwave"); } +.bi-speaker-fill::before { content: map-get($bootstrap-icons-map, "speaker-fill"); } +.bi-speaker::before { content: map-get($bootstrap-icons-map, "speaker"); } +.bi-speedometer::before { content: map-get($bootstrap-icons-map, "speedometer"); } +.bi-speedometer2::before { content: map-get($bootstrap-icons-map, "speedometer2"); } +.bi-spellcheck::before { content: map-get($bootstrap-icons-map, "spellcheck"); } +.bi-square-fill::before { content: map-get($bootstrap-icons-map, "square-fill"); } +.bi-square-half::before { content: map-get($bootstrap-icons-map, "square-half"); } +.bi-square::before { content: map-get($bootstrap-icons-map, "square"); } +.bi-stack::before { content: map-get($bootstrap-icons-map, "stack"); } +.bi-star-fill::before { content: map-get($bootstrap-icons-map, "star-fill"); } +.bi-star-half::before { content: map-get($bootstrap-icons-map, "star-half"); } +.bi-star::before { content: map-get($bootstrap-icons-map, "star"); } +.bi-stars::before { content: map-get($bootstrap-icons-map, "stars"); } +.bi-stickies-fill::before { content: map-get($bootstrap-icons-map, "stickies-fill"); } +.bi-stickies::before { content: map-get($bootstrap-icons-map, "stickies"); } +.bi-sticky-fill::before { content: map-get($bootstrap-icons-map, "sticky-fill"); } +.bi-sticky::before { content: map-get($bootstrap-icons-map, "sticky"); } +.bi-stop-btn-fill::before { content: map-get($bootstrap-icons-map, "stop-btn-fill"); } +.bi-stop-btn::before { content: map-get($bootstrap-icons-map, "stop-btn"); } +.bi-stop-circle-fill::before { content: map-get($bootstrap-icons-map, "stop-circle-fill"); } +.bi-stop-circle::before { content: map-get($bootstrap-icons-map, "stop-circle"); } +.bi-stop-fill::before { content: map-get($bootstrap-icons-map, "stop-fill"); } +.bi-stop::before { content: map-get($bootstrap-icons-map, "stop"); } +.bi-stoplights-fill::before { content: map-get($bootstrap-icons-map, "stoplights-fill"); } +.bi-stoplights::before { content: map-get($bootstrap-icons-map, "stoplights"); } +.bi-stopwatch-fill::before { content: map-get($bootstrap-icons-map, "stopwatch-fill"); } +.bi-stopwatch::before { content: map-get($bootstrap-icons-map, "stopwatch"); } +.bi-subtract::before { content: map-get($bootstrap-icons-map, "subtract"); } +.bi-suit-club-fill::before { content: map-get($bootstrap-icons-map, "suit-club-fill"); } +.bi-suit-club::before { content: map-get($bootstrap-icons-map, "suit-club"); } +.bi-suit-diamond-fill::before { content: map-get($bootstrap-icons-map, "suit-diamond-fill"); } +.bi-suit-diamond::before { content: map-get($bootstrap-icons-map, "suit-diamond"); } +.bi-suit-heart-fill::before { content: map-get($bootstrap-icons-map, "suit-heart-fill"); } +.bi-suit-heart::before { content: map-get($bootstrap-icons-map, "suit-heart"); } +.bi-suit-spade-fill::before { content: map-get($bootstrap-icons-map, "suit-spade-fill"); } +.bi-suit-spade::before { content: map-get($bootstrap-icons-map, "suit-spade"); } +.bi-sun-fill::before { content: map-get($bootstrap-icons-map, "sun-fill"); } +.bi-sun::before { content: map-get($bootstrap-icons-map, "sun"); } +.bi-sunglasses::before { content: map-get($bootstrap-icons-map, "sunglasses"); } +.bi-sunrise-fill::before { content: map-get($bootstrap-icons-map, "sunrise-fill"); } +.bi-sunrise::before { content: map-get($bootstrap-icons-map, "sunrise"); } +.bi-sunset-fill::before { content: map-get($bootstrap-icons-map, "sunset-fill"); } +.bi-sunset::before { content: map-get($bootstrap-icons-map, "sunset"); } +.bi-symmetry-horizontal::before { content: map-get($bootstrap-icons-map, "symmetry-horizontal"); } +.bi-symmetry-vertical::before { content: map-get($bootstrap-icons-map, "symmetry-vertical"); } +.bi-table::before { content: map-get($bootstrap-icons-map, "table"); } +.bi-tablet-fill::before { content: map-get($bootstrap-icons-map, "tablet-fill"); } +.bi-tablet-landscape-fill::before { content: map-get($bootstrap-icons-map, "tablet-landscape-fill"); } +.bi-tablet-landscape::before { content: map-get($bootstrap-icons-map, "tablet-landscape"); } +.bi-tablet::before { content: map-get($bootstrap-icons-map, "tablet"); } +.bi-tag-fill::before { content: map-get($bootstrap-icons-map, "tag-fill"); } +.bi-tag::before { content: map-get($bootstrap-icons-map, "tag"); } +.bi-tags-fill::before { content: map-get($bootstrap-icons-map, "tags-fill"); } +.bi-tags::before { content: map-get($bootstrap-icons-map, "tags"); } +.bi-telegram::before { content: map-get($bootstrap-icons-map, "telegram"); } +.bi-telephone-fill::before { content: map-get($bootstrap-icons-map, "telephone-fill"); } +.bi-telephone-forward-fill::before { content: map-get($bootstrap-icons-map, "telephone-forward-fill"); } +.bi-telephone-forward::before { content: map-get($bootstrap-icons-map, "telephone-forward"); } +.bi-telephone-inbound-fill::before { content: map-get($bootstrap-icons-map, "telephone-inbound-fill"); } +.bi-telephone-inbound::before { content: map-get($bootstrap-icons-map, "telephone-inbound"); } +.bi-telephone-minus-fill::before { content: map-get($bootstrap-icons-map, "telephone-minus-fill"); } +.bi-telephone-minus::before { content: map-get($bootstrap-icons-map, "telephone-minus"); } +.bi-telephone-outbound-fill::before { content: map-get($bootstrap-icons-map, "telephone-outbound-fill"); } +.bi-telephone-outbound::before { content: map-get($bootstrap-icons-map, "telephone-outbound"); } +.bi-telephone-plus-fill::before { content: map-get($bootstrap-icons-map, "telephone-plus-fill"); } +.bi-telephone-plus::before { content: map-get($bootstrap-icons-map, "telephone-plus"); } +.bi-telephone-x-fill::before { content: map-get($bootstrap-icons-map, "telephone-x-fill"); } +.bi-telephone-x::before { content: map-get($bootstrap-icons-map, "telephone-x"); } +.bi-telephone::before { content: map-get($bootstrap-icons-map, "telephone"); } +.bi-terminal-fill::before { content: map-get($bootstrap-icons-map, "terminal-fill"); } +.bi-terminal::before { content: map-get($bootstrap-icons-map, "terminal"); } +.bi-text-center::before { content: map-get($bootstrap-icons-map, "text-center"); } +.bi-text-indent-left::before { content: map-get($bootstrap-icons-map, "text-indent-left"); } +.bi-text-indent-right::before { content: map-get($bootstrap-icons-map, "text-indent-right"); } +.bi-text-left::before { content: map-get($bootstrap-icons-map, "text-left"); } +.bi-text-paragraph::before { content: map-get($bootstrap-icons-map, "text-paragraph"); } +.bi-text-right::before { content: map-get($bootstrap-icons-map, "text-right"); } +.bi-textarea-resize::before { content: map-get($bootstrap-icons-map, "textarea-resize"); } +.bi-textarea-t::before { content: map-get($bootstrap-icons-map, "textarea-t"); } +.bi-textarea::before { content: map-get($bootstrap-icons-map, "textarea"); } +.bi-thermometer-half::before { content: map-get($bootstrap-icons-map, "thermometer-half"); } +.bi-thermometer-high::before { content: map-get($bootstrap-icons-map, "thermometer-high"); } +.bi-thermometer-low::before { content: map-get($bootstrap-icons-map, "thermometer-low"); } +.bi-thermometer-snow::before { content: map-get($bootstrap-icons-map, "thermometer-snow"); } +.bi-thermometer-sun::before { content: map-get($bootstrap-icons-map, "thermometer-sun"); } +.bi-thermometer::before { content: map-get($bootstrap-icons-map, "thermometer"); } +.bi-three-dots-vertical::before { content: map-get($bootstrap-icons-map, "three-dots-vertical"); } +.bi-three-dots::before { content: map-get($bootstrap-icons-map, "three-dots"); } +.bi-toggle-off::before { content: map-get($bootstrap-icons-map, "toggle-off"); } +.bi-toggle-on::before { content: map-get($bootstrap-icons-map, "toggle-on"); } +.bi-toggle2-off::before { content: map-get($bootstrap-icons-map, "toggle2-off"); } +.bi-toggle2-on::before { content: map-get($bootstrap-icons-map, "toggle2-on"); } +.bi-toggles::before { content: map-get($bootstrap-icons-map, "toggles"); } +.bi-toggles2::before { content: map-get($bootstrap-icons-map, "toggles2"); } +.bi-tools::before { content: map-get($bootstrap-icons-map, "tools"); } +.bi-tornado::before { content: map-get($bootstrap-icons-map, "tornado"); } +.bi-trash-fill::before { content: map-get($bootstrap-icons-map, "trash-fill"); } +.bi-trash::before { content: map-get($bootstrap-icons-map, "trash"); } +.bi-trash2-fill::before { content: map-get($bootstrap-icons-map, "trash2-fill"); } +.bi-trash2::before { content: map-get($bootstrap-icons-map, "trash2"); } +.bi-tree-fill::before { content: map-get($bootstrap-icons-map, "tree-fill"); } +.bi-tree::before { content: map-get($bootstrap-icons-map, "tree"); } +.bi-triangle-fill::before { content: map-get($bootstrap-icons-map, "triangle-fill"); } +.bi-triangle-half::before { content: map-get($bootstrap-icons-map, "triangle-half"); } +.bi-triangle::before { content: map-get($bootstrap-icons-map, "triangle"); } +.bi-trophy-fill::before { content: map-get($bootstrap-icons-map, "trophy-fill"); } +.bi-trophy::before { content: map-get($bootstrap-icons-map, "trophy"); } +.bi-tropical-storm::before { content: map-get($bootstrap-icons-map, "tropical-storm"); } +.bi-truck-flatbed::before { content: map-get($bootstrap-icons-map, "truck-flatbed"); } +.bi-truck::before { content: map-get($bootstrap-icons-map, "truck"); } +.bi-tsunami::before { content: map-get($bootstrap-icons-map, "tsunami"); } +.bi-tv-fill::before { content: map-get($bootstrap-icons-map, "tv-fill"); } +.bi-tv::before { content: map-get($bootstrap-icons-map, "tv"); } +.bi-twitch::before { content: map-get($bootstrap-icons-map, "twitch"); } +.bi-twitter::before { content: map-get($bootstrap-icons-map, "twitter"); } +.bi-type-bold::before { content: map-get($bootstrap-icons-map, "type-bold"); } +.bi-type-h1::before { content: map-get($bootstrap-icons-map, "type-h1"); } +.bi-type-h2::before { content: map-get($bootstrap-icons-map, "type-h2"); } +.bi-type-h3::before { content: map-get($bootstrap-icons-map, "type-h3"); } +.bi-type-italic::before { content: map-get($bootstrap-icons-map, "type-italic"); } +.bi-type-strikethrough::before { content: map-get($bootstrap-icons-map, "type-strikethrough"); } +.bi-type-underline::before { content: map-get($bootstrap-icons-map, "type-underline"); } +.bi-type::before { content: map-get($bootstrap-icons-map, "type"); } +.bi-ui-checks-grid::before { content: map-get($bootstrap-icons-map, "ui-checks-grid"); } +.bi-ui-checks::before { content: map-get($bootstrap-icons-map, "ui-checks"); } +.bi-ui-radios-grid::before { content: map-get($bootstrap-icons-map, "ui-radios-grid"); } +.bi-ui-radios::before { content: map-get($bootstrap-icons-map, "ui-radios"); } +.bi-umbrella-fill::before { content: map-get($bootstrap-icons-map, "umbrella-fill"); } +.bi-umbrella::before { content: map-get($bootstrap-icons-map, "umbrella"); } +.bi-union::before { content: map-get($bootstrap-icons-map, "union"); } +.bi-unlock-fill::before { content: map-get($bootstrap-icons-map, "unlock-fill"); } +.bi-unlock::before { content: map-get($bootstrap-icons-map, "unlock"); } +.bi-upc-scan::before { content: map-get($bootstrap-icons-map, "upc-scan"); } +.bi-upc::before { content: map-get($bootstrap-icons-map, "upc"); } +.bi-upload::before { content: map-get($bootstrap-icons-map, "upload"); } +.bi-vector-pen::before { content: map-get($bootstrap-icons-map, "vector-pen"); } +.bi-view-list::before { content: map-get($bootstrap-icons-map, "view-list"); } +.bi-view-stacked::before { content: map-get($bootstrap-icons-map, "view-stacked"); } +.bi-vinyl-fill::before { content: map-get($bootstrap-icons-map, "vinyl-fill"); } +.bi-vinyl::before { content: map-get($bootstrap-icons-map, "vinyl"); } +.bi-voicemail::before { content: map-get($bootstrap-icons-map, "voicemail"); } +.bi-volume-down-fill::before { content: map-get($bootstrap-icons-map, "volume-down-fill"); } +.bi-volume-down::before { content: map-get($bootstrap-icons-map, "volume-down"); } +.bi-volume-mute-fill::before { content: map-get($bootstrap-icons-map, "volume-mute-fill"); } +.bi-volume-mute::before { content: map-get($bootstrap-icons-map, "volume-mute"); } +.bi-volume-off-fill::before { content: map-get($bootstrap-icons-map, "volume-off-fill"); } +.bi-volume-off::before { content: map-get($bootstrap-icons-map, "volume-off"); } +.bi-volume-up-fill::before { content: map-get($bootstrap-icons-map, "volume-up-fill"); } +.bi-volume-up::before { content: map-get($bootstrap-icons-map, "volume-up"); } +.bi-vr::before { content: map-get($bootstrap-icons-map, "vr"); } +.bi-wallet-fill::before { content: map-get($bootstrap-icons-map, "wallet-fill"); } +.bi-wallet::before { content: map-get($bootstrap-icons-map, "wallet"); } +.bi-wallet2::before { content: map-get($bootstrap-icons-map, "wallet2"); } +.bi-watch::before { content: map-get($bootstrap-icons-map, "watch"); } +.bi-water::before { content: map-get($bootstrap-icons-map, "water"); } +.bi-whatsapp::before { content: map-get($bootstrap-icons-map, "whatsapp"); } +.bi-wifi-1::before { content: map-get($bootstrap-icons-map, "wifi-1"); } +.bi-wifi-2::before { content: map-get($bootstrap-icons-map, "wifi-2"); } +.bi-wifi-off::before { content: map-get($bootstrap-icons-map, "wifi-off"); } +.bi-wifi::before { content: map-get($bootstrap-icons-map, "wifi"); } +.bi-wind::before { content: map-get($bootstrap-icons-map, "wind"); } +.bi-window-dock::before { content: map-get($bootstrap-icons-map, "window-dock"); } +.bi-window-sidebar::before { content: map-get($bootstrap-icons-map, "window-sidebar"); } +.bi-window::before { content: map-get($bootstrap-icons-map, "window"); } +.bi-wrench::before { content: map-get($bootstrap-icons-map, "wrench"); } +.bi-x-circle-fill::before { content: map-get($bootstrap-icons-map, "x-circle-fill"); } +.bi-x-circle::before { content: map-get($bootstrap-icons-map, "x-circle"); } +.bi-x-diamond-fill::before { content: map-get($bootstrap-icons-map, "x-diamond-fill"); } +.bi-x-diamond::before { content: map-get($bootstrap-icons-map, "x-diamond"); } +.bi-x-octagon-fill::before { content: map-get($bootstrap-icons-map, "x-octagon-fill"); } +.bi-x-octagon::before { content: map-get($bootstrap-icons-map, "x-octagon"); } +.bi-x-square-fill::before { content: map-get($bootstrap-icons-map, "x-square-fill"); } +.bi-x-square::before { content: map-get($bootstrap-icons-map, "x-square"); } +.bi-x::before { content: map-get($bootstrap-icons-map, "x"); } +.bi-youtube::before { content: map-get($bootstrap-icons-map, "youtube"); } +.bi-zoom-in::before { content: map-get($bootstrap-icons-map, "zoom-in"); } +.bi-zoom-out::before { content: map-get($bootstrap-icons-map, "zoom-out"); } +.bi-bank::before { content: map-get($bootstrap-icons-map, "bank"); } +.bi-bank2::before { content: map-get($bootstrap-icons-map, "bank2"); } +.bi-bell-slash-fill::before { content: map-get($bootstrap-icons-map, "bell-slash-fill"); } +.bi-bell-slash::before { content: map-get($bootstrap-icons-map, "bell-slash"); } +.bi-cash-coin::before { content: map-get($bootstrap-icons-map, "cash-coin"); } +.bi-check-lg::before { content: map-get($bootstrap-icons-map, "check-lg"); } +.bi-coin::before { content: map-get($bootstrap-icons-map, "coin"); } +.bi-currency-bitcoin::before { content: map-get($bootstrap-icons-map, "currency-bitcoin"); } +.bi-currency-dollar::before { content: map-get($bootstrap-icons-map, "currency-dollar"); } +.bi-currency-euro::before { content: map-get($bootstrap-icons-map, "currency-euro"); } +.bi-currency-exchange::before { content: map-get($bootstrap-icons-map, "currency-exchange"); } +.bi-currency-pound::before { content: map-get($bootstrap-icons-map, "currency-pound"); } +.bi-currency-yen::before { content: map-get($bootstrap-icons-map, "currency-yen"); } +.bi-dash-lg::before { content: map-get($bootstrap-icons-map, "dash-lg"); } +.bi-exclamation-lg::before { content: map-get($bootstrap-icons-map, "exclamation-lg"); } +.bi-file-earmark-pdf-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-pdf-fill"); } +.bi-file-earmark-pdf::before { content: map-get($bootstrap-icons-map, "file-earmark-pdf"); } +.bi-file-pdf-fill::before { content: map-get($bootstrap-icons-map, "file-pdf-fill"); } +.bi-file-pdf::before { content: map-get($bootstrap-icons-map, "file-pdf"); } +.bi-gender-ambiguous::before { content: map-get($bootstrap-icons-map, "gender-ambiguous"); } +.bi-gender-female::before { content: map-get($bootstrap-icons-map, "gender-female"); } +.bi-gender-male::before { content: map-get($bootstrap-icons-map, "gender-male"); } +.bi-gender-trans::before { content: map-get($bootstrap-icons-map, "gender-trans"); } +.bi-headset-vr::before { content: map-get($bootstrap-icons-map, "headset-vr"); } +.bi-info-lg::before { content: map-get($bootstrap-icons-map, "info-lg"); } +.bi-mastodon::before { content: map-get($bootstrap-icons-map, "mastodon"); } +.bi-messenger::before { content: map-get($bootstrap-icons-map, "messenger"); } +.bi-piggy-bank-fill::before { content: map-get($bootstrap-icons-map, "piggy-bank-fill"); } +.bi-piggy-bank::before { content: map-get($bootstrap-icons-map, "piggy-bank"); } +.bi-pin-map-fill::before { content: map-get($bootstrap-icons-map, "pin-map-fill"); } +.bi-pin-map::before { content: map-get($bootstrap-icons-map, "pin-map"); } +.bi-plus-lg::before { content: map-get($bootstrap-icons-map, "plus-lg"); } +.bi-question-lg::before { content: map-get($bootstrap-icons-map, "question-lg"); } +.bi-recycle::before { content: map-get($bootstrap-icons-map, "recycle"); } +.bi-reddit::before { content: map-get($bootstrap-icons-map, "reddit"); } +.bi-safe-fill::before { content: map-get($bootstrap-icons-map, "safe-fill"); } +.bi-safe2-fill::before { content: map-get($bootstrap-icons-map, "safe2-fill"); } +.bi-safe2::before { content: map-get($bootstrap-icons-map, "safe2"); } +.bi-sd-card-fill::before { content: map-get($bootstrap-icons-map, "sd-card-fill"); } +.bi-sd-card::before { content: map-get($bootstrap-icons-map, "sd-card"); } +.bi-skype::before { content: map-get($bootstrap-icons-map, "skype"); } +.bi-slash-lg::before { content: map-get($bootstrap-icons-map, "slash-lg"); } +.bi-translate::before { content: map-get($bootstrap-icons-map, "translate"); } +.bi-x-lg::before { content: map-get($bootstrap-icons-map, "x-lg"); } +.bi-safe::before { content: map-get($bootstrap-icons-map, "safe"); } +.bi-apple::before { content: map-get($bootstrap-icons-map, "apple"); } +.bi-microsoft::before { content: map-get($bootstrap-icons-map, "microsoft"); } +.bi-windows::before { content: map-get($bootstrap-icons-map, "windows"); } +.bi-behance::before { content: map-get($bootstrap-icons-map, "behance"); } +.bi-dribbble::before { content: map-get($bootstrap-icons-map, "dribbble"); } +.bi-line::before { content: map-get($bootstrap-icons-map, "line"); } +.bi-medium::before { content: map-get($bootstrap-icons-map, "medium"); } +.bi-paypal::before { content: map-get($bootstrap-icons-map, "paypal"); } +.bi-pinterest::before { content: map-get($bootstrap-icons-map, "pinterest"); } +.bi-signal::before { content: map-get($bootstrap-icons-map, "signal"); } +.bi-snapchat::before { content: map-get($bootstrap-icons-map, "snapchat"); } +.bi-spotify::before { content: map-get($bootstrap-icons-map, "spotify"); } +.bi-stack-overflow::before { content: map-get($bootstrap-icons-map, "stack-overflow"); } +.bi-strava::before { content: map-get($bootstrap-icons-map, "strava"); } +.bi-wordpress::before { content: map-get($bootstrap-icons-map, "wordpress"); } +.bi-vimeo::before { content: map-get($bootstrap-icons-map, "vimeo"); } +.bi-activity::before { content: map-get($bootstrap-icons-map, "activity"); } +.bi-easel2-fill::before { content: map-get($bootstrap-icons-map, "easel2-fill"); } +.bi-easel2::before { content: map-get($bootstrap-icons-map, "easel2"); } +.bi-easel3-fill::before { content: map-get($bootstrap-icons-map, "easel3-fill"); } +.bi-easel3::before { content: map-get($bootstrap-icons-map, "easel3"); } +.bi-fan::before { content: map-get($bootstrap-icons-map, "fan"); } +.bi-fingerprint::before { content: map-get($bootstrap-icons-map, "fingerprint"); } +.bi-graph-down-arrow::before { content: map-get($bootstrap-icons-map, "graph-down-arrow"); } +.bi-graph-up-arrow::before { content: map-get($bootstrap-icons-map, "graph-up-arrow"); } +.bi-hypnotize::before { content: map-get($bootstrap-icons-map, "hypnotize"); } +.bi-magic::before { content: map-get($bootstrap-icons-map, "magic"); } +.bi-person-rolodex::before { content: map-get($bootstrap-icons-map, "person-rolodex"); } +.bi-person-video::before { content: map-get($bootstrap-icons-map, "person-video"); } +.bi-person-video2::before { content: map-get($bootstrap-icons-map, "person-video2"); } +.bi-person-video3::before { content: map-get($bootstrap-icons-map, "person-video3"); } +.bi-person-workspace::before { content: map-get($bootstrap-icons-map, "person-workspace"); } +.bi-radioactive::before { content: map-get($bootstrap-icons-map, "radioactive"); } +.bi-webcam-fill::before { content: map-get($bootstrap-icons-map, "webcam-fill"); } +.bi-webcam::before { content: map-get($bootstrap-icons-map, "webcam"); } +.bi-yin-yang::before { content: map-get($bootstrap-icons-map, "yin-yang"); } +.bi-bandaid-fill::before { content: map-get($bootstrap-icons-map, "bandaid-fill"); } +.bi-bandaid::before { content: map-get($bootstrap-icons-map, "bandaid"); } +.bi-bluetooth::before { content: map-get($bootstrap-icons-map, "bluetooth"); } +.bi-body-text::before { content: map-get($bootstrap-icons-map, "body-text"); } +.bi-boombox::before { content: map-get($bootstrap-icons-map, "boombox"); } +.bi-boxes::before { content: map-get($bootstrap-icons-map, "boxes"); } +.bi-dpad-fill::before { content: map-get($bootstrap-icons-map, "dpad-fill"); } +.bi-dpad::before { content: map-get($bootstrap-icons-map, "dpad"); } +.bi-ear-fill::before { content: map-get($bootstrap-icons-map, "ear-fill"); } +.bi-ear::before { content: map-get($bootstrap-icons-map, "ear"); } +.bi-envelope-check-1::before { content: map-get($bootstrap-icons-map, "envelope-check-1"); } +.bi-envelope-check-fill::before { content: map-get($bootstrap-icons-map, "envelope-check-fill"); } +.bi-envelope-check::before { content: map-get($bootstrap-icons-map, "envelope-check"); } +.bi-envelope-dash-1::before { content: map-get($bootstrap-icons-map, "envelope-dash-1"); } +.bi-envelope-dash-fill::before { content: map-get($bootstrap-icons-map, "envelope-dash-fill"); } +.bi-envelope-dash::before { content: map-get($bootstrap-icons-map, "envelope-dash"); } +.bi-envelope-exclamation-1::before { content: map-get($bootstrap-icons-map, "envelope-exclamation-1"); } +.bi-envelope-exclamation-fill::before { content: map-get($bootstrap-icons-map, "envelope-exclamation-fill"); } +.bi-envelope-exclamation::before { content: map-get($bootstrap-icons-map, "envelope-exclamation"); } +.bi-envelope-plus-fill::before { content: map-get($bootstrap-icons-map, "envelope-plus-fill"); } +.bi-envelope-plus::before { content: map-get($bootstrap-icons-map, "envelope-plus"); } +.bi-envelope-slash-1::before { content: map-get($bootstrap-icons-map, "envelope-slash-1"); } +.bi-envelope-slash-fill::before { content: map-get($bootstrap-icons-map, "envelope-slash-fill"); } +.bi-envelope-slash::before { content: map-get($bootstrap-icons-map, "envelope-slash"); } +.bi-envelope-x-1::before { content: map-get($bootstrap-icons-map, "envelope-x-1"); } +.bi-envelope-x-fill::before { content: map-get($bootstrap-icons-map, "envelope-x-fill"); } +.bi-envelope-x::before { content: map-get($bootstrap-icons-map, "envelope-x"); } +.bi-explicit-fill::before { content: map-get($bootstrap-icons-map, "explicit-fill"); } +.bi-explicit::before { content: map-get($bootstrap-icons-map, "explicit"); } +.bi-git::before { content: map-get($bootstrap-icons-map, "git"); } +.bi-infinity::before { content: map-get($bootstrap-icons-map, "infinity"); } +.bi-list-columns-reverse::before { content: map-get($bootstrap-icons-map, "list-columns-reverse"); } +.bi-list-columns::before { content: map-get($bootstrap-icons-map, "list-columns"); } +.bi-meta::before { content: map-get($bootstrap-icons-map, "meta"); } +.bi-mortorboard-fill::before { content: map-get($bootstrap-icons-map, "mortorboard-fill"); } +.bi-mortorboard::before { content: map-get($bootstrap-icons-map, "mortorboard"); } +.bi-nintendo-switch::before { content: map-get($bootstrap-icons-map, "nintendo-switch"); } +.bi-pc-display-horizontal::before { content: map-get($bootstrap-icons-map, "pc-display-horizontal"); } +.bi-pc-display::before { content: map-get($bootstrap-icons-map, "pc-display"); } +.bi-pc-horizontal::before { content: map-get($bootstrap-icons-map, "pc-horizontal"); } +.bi-pc::before { content: map-get($bootstrap-icons-map, "pc"); } +.bi-playstation::before { content: map-get($bootstrap-icons-map, "playstation"); } +.bi-plus-slash-minus::before { content: map-get($bootstrap-icons-map, "plus-slash-minus"); } +.bi-projector-fill::before { content: map-get($bootstrap-icons-map, "projector-fill"); } +.bi-projector::before { content: map-get($bootstrap-icons-map, "projector"); } +.bi-qr-code-scan::before { content: map-get($bootstrap-icons-map, "qr-code-scan"); } +.bi-qr-code::before { content: map-get($bootstrap-icons-map, "qr-code"); } +.bi-quora::before { content: map-get($bootstrap-icons-map, "quora"); } +.bi-quote::before { content: map-get($bootstrap-icons-map, "quote"); } +.bi-robot::before { content: map-get($bootstrap-icons-map, "robot"); } +.bi-send-check-fill::before { content: map-get($bootstrap-icons-map, "send-check-fill"); } +.bi-send-check::before { content: map-get($bootstrap-icons-map, "send-check"); } +.bi-send-dash-fill::before { content: map-get($bootstrap-icons-map, "send-dash-fill"); } +.bi-send-dash::before { content: map-get($bootstrap-icons-map, "send-dash"); } +.bi-send-exclamation-1::before { content: map-get($bootstrap-icons-map, "send-exclamation-1"); } +.bi-send-exclamation-fill::before { content: map-get($bootstrap-icons-map, "send-exclamation-fill"); } +.bi-send-exclamation::before { content: map-get($bootstrap-icons-map, "send-exclamation"); } +.bi-send-fill::before { content: map-get($bootstrap-icons-map, "send-fill"); } +.bi-send-plus-fill::before { content: map-get($bootstrap-icons-map, "send-plus-fill"); } +.bi-send-plus::before { content: map-get($bootstrap-icons-map, "send-plus"); } +.bi-send-slash-fill::before { content: map-get($bootstrap-icons-map, "send-slash-fill"); } +.bi-send-slash::before { content: map-get($bootstrap-icons-map, "send-slash"); } +.bi-send-x-fill::before { content: map-get($bootstrap-icons-map, "send-x-fill"); } +.bi-send-x::before { content: map-get($bootstrap-icons-map, "send-x"); } +.bi-send::before { content: map-get($bootstrap-icons-map, "send"); } +.bi-steam::before { content: map-get($bootstrap-icons-map, "steam"); } +.bi-terminal-dash-1::before { content: map-get($bootstrap-icons-map, "terminal-dash-1"); } +.bi-terminal-dash::before { content: map-get($bootstrap-icons-map, "terminal-dash"); } +.bi-terminal-plus::before { content: map-get($bootstrap-icons-map, "terminal-plus"); } +.bi-terminal-split::before { content: map-get($bootstrap-icons-map, "terminal-split"); } +.bi-ticket-detailed-fill::before { content: map-get($bootstrap-icons-map, "ticket-detailed-fill"); } +.bi-ticket-detailed::before { content: map-get($bootstrap-icons-map, "ticket-detailed"); } +.bi-ticket-fill::before { content: map-get($bootstrap-icons-map, "ticket-fill"); } +.bi-ticket-perforated-fill::before { content: map-get($bootstrap-icons-map, "ticket-perforated-fill"); } +.bi-ticket-perforated::before { content: map-get($bootstrap-icons-map, "ticket-perforated"); } +.bi-ticket::before { content: map-get($bootstrap-icons-map, "ticket"); } +.bi-tiktok::before { content: map-get($bootstrap-icons-map, "tiktok"); } +.bi-window-dash::before { content: map-get($bootstrap-icons-map, "window-dash"); } +.bi-window-desktop::before { content: map-get($bootstrap-icons-map, "window-desktop"); } +.bi-window-fullscreen::before { content: map-get($bootstrap-icons-map, "window-fullscreen"); } +.bi-window-plus::before { content: map-get($bootstrap-icons-map, "window-plus"); } +.bi-window-split::before { content: map-get($bootstrap-icons-map, "window-split"); } +.bi-window-stack::before { content: map-get($bootstrap-icons-map, "window-stack"); } +.bi-window-x::before { content: map-get($bootstrap-icons-map, "window-x"); } +.bi-xbox::before { content: map-get($bootstrap-icons-map, "xbox"); } +.bi-ethernet::before { content: map-get($bootstrap-icons-map, "ethernet"); } +.bi-hdmi-fill::before { content: map-get($bootstrap-icons-map, "hdmi-fill"); } +.bi-hdmi::before { content: map-get($bootstrap-icons-map, "hdmi"); } +.bi-usb-c-fill::before { content: map-get($bootstrap-icons-map, "usb-c-fill"); } +.bi-usb-c::before { content: map-get($bootstrap-icons-map, "usb-c"); } +.bi-usb-fill::before { content: map-get($bootstrap-icons-map, "usb-fill"); } +.bi-usb-plug-fill::before { content: map-get($bootstrap-icons-map, "usb-plug-fill"); } +.bi-usb-plug::before { content: map-get($bootstrap-icons-map, "usb-plug"); } +.bi-usb-symbol::before { content: map-get($bootstrap-icons-map, "usb-symbol"); } +.bi-usb::before { content: map-get($bootstrap-icons-map, "usb"); } +.bi-boombox-fill::before { content: map-get($bootstrap-icons-map, "boombox-fill"); } +.bi-displayport-1::before { content: map-get($bootstrap-icons-map, "displayport-1"); } +.bi-displayport::before { content: map-get($bootstrap-icons-map, "displayport"); } +.bi-gpu-card::before { content: map-get($bootstrap-icons-map, "gpu-card"); } +.bi-memory::before { content: map-get($bootstrap-icons-map, "memory"); } +.bi-modem-fill::before { content: map-get($bootstrap-icons-map, "modem-fill"); } +.bi-modem::before { content: map-get($bootstrap-icons-map, "modem"); } +.bi-motherboard-fill::before { content: map-get($bootstrap-icons-map, "motherboard-fill"); } +.bi-motherboard::before { content: map-get($bootstrap-icons-map, "motherboard"); } +.bi-optical-audio-fill::before { content: map-get($bootstrap-icons-map, "optical-audio-fill"); } +.bi-optical-audio::before { content: map-get($bootstrap-icons-map, "optical-audio"); } +.bi-pci-card::before { content: map-get($bootstrap-icons-map, "pci-card"); } +.bi-router-fill::before { content: map-get($bootstrap-icons-map, "router-fill"); } +.bi-router::before { content: map-get($bootstrap-icons-map, "router"); } +.bi-ssd-fill::before { content: map-get($bootstrap-icons-map, "ssd-fill"); } +.bi-ssd::before { content: map-get($bootstrap-icons-map, "ssd"); } +.bi-thunderbolt-fill::before { content: map-get($bootstrap-icons-map, "thunderbolt-fill"); } +.bi-thunderbolt::before { content: map-get($bootstrap-icons-map, "thunderbolt"); } +.bi-usb-drive-fill::before { content: map-get($bootstrap-icons-map, "usb-drive-fill"); } +.bi-usb-drive::before { content: map-get($bootstrap-icons-map, "usb-drive"); } +.bi-usb-micro-fill::before { content: map-get($bootstrap-icons-map, "usb-micro-fill"); } +.bi-usb-micro::before { content: map-get($bootstrap-icons-map, "usb-micro"); } +.bi-usb-mini-fill::before { content: map-get($bootstrap-icons-map, "usb-mini-fill"); } +.bi-usb-mini::before { content: map-get($bootstrap-icons-map, "usb-mini"); } +.bi-cloud-haze2::before { content: map-get($bootstrap-icons-map, "cloud-haze2"); } +.bi-device-hdd-fill::before { content: map-get($bootstrap-icons-map, "device-hdd-fill"); } +.bi-device-hdd::before { content: map-get($bootstrap-icons-map, "device-hdd"); } +.bi-device-ssd-fill::before { content: map-get($bootstrap-icons-map, "device-ssd-fill"); } +.bi-device-ssd::before { content: map-get($bootstrap-icons-map, "device-ssd"); } +.bi-displayport-fill::before { content: map-get($bootstrap-icons-map, "displayport-fill"); } +.bi-mortarboard-fill::before { content: map-get($bootstrap-icons-map, "mortarboard-fill"); } +.bi-mortarboard::before { content: map-get($bootstrap-icons-map, "mortarboard"); } +.bi-terminal-x::before { content: map-get($bootstrap-icons-map, "terminal-x"); } +.bi-arrow-through-heart-fill::before { content: map-get($bootstrap-icons-map, "arrow-through-heart-fill"); } +.bi-arrow-through-heart::before { content: map-get($bootstrap-icons-map, "arrow-through-heart"); } +.bi-badge-sd-fill::before { content: map-get($bootstrap-icons-map, "badge-sd-fill"); } +.bi-badge-sd::before { content: map-get($bootstrap-icons-map, "badge-sd"); } +.bi-bag-heart-fill::before { content: map-get($bootstrap-icons-map, "bag-heart-fill"); } +.bi-bag-heart::before { content: map-get($bootstrap-icons-map, "bag-heart"); } +.bi-balloon-fill::before { content: map-get($bootstrap-icons-map, "balloon-fill"); } +.bi-balloon-heart-fill::before { content: map-get($bootstrap-icons-map, "balloon-heart-fill"); } +.bi-balloon-heart::before { content: map-get($bootstrap-icons-map, "balloon-heart"); } +.bi-balloon::before { content: map-get($bootstrap-icons-map, "balloon"); } +.bi-box2-fill::before { content: map-get($bootstrap-icons-map, "box2-fill"); } +.bi-box2-heart-fill::before { content: map-get($bootstrap-icons-map, "box2-heart-fill"); } +.bi-box2-heart::before { content: map-get($bootstrap-icons-map, "box2-heart"); } +.bi-box2::before { content: map-get($bootstrap-icons-map, "box2"); } +.bi-braces-asterisk::before { content: map-get($bootstrap-icons-map, "braces-asterisk"); } +.bi-calendar-heart-fill::before { content: map-get($bootstrap-icons-map, "calendar-heart-fill"); } +.bi-calendar-heart::before { content: map-get($bootstrap-icons-map, "calendar-heart"); } +.bi-calendar2-heart-fill::before { content: map-get($bootstrap-icons-map, "calendar2-heart-fill"); } +.bi-calendar2-heart::before { content: map-get($bootstrap-icons-map, "calendar2-heart"); } +.bi-chat-heart-fill::before { content: map-get($bootstrap-icons-map, "chat-heart-fill"); } +.bi-chat-heart::before { content: map-get($bootstrap-icons-map, "chat-heart"); } +.bi-chat-left-heart-fill::before { content: map-get($bootstrap-icons-map, "chat-left-heart-fill"); } +.bi-chat-left-heart::before { content: map-get($bootstrap-icons-map, "chat-left-heart"); } +.bi-chat-right-heart-fill::before { content: map-get($bootstrap-icons-map, "chat-right-heart-fill"); } +.bi-chat-right-heart::before { content: map-get($bootstrap-icons-map, "chat-right-heart"); } +.bi-chat-square-heart-fill::before { content: map-get($bootstrap-icons-map, "chat-square-heart-fill"); } +.bi-chat-square-heart::before { content: map-get($bootstrap-icons-map, "chat-square-heart"); } +.bi-clipboard-check-fill::before { content: map-get($bootstrap-icons-map, "clipboard-check-fill"); } +.bi-clipboard-data-fill::before { content: map-get($bootstrap-icons-map, "clipboard-data-fill"); } +.bi-clipboard-fill::before { content: map-get($bootstrap-icons-map, "clipboard-fill"); } +.bi-clipboard-heart-fill::before { content: map-get($bootstrap-icons-map, "clipboard-heart-fill"); } +.bi-clipboard-heart::before { content: map-get($bootstrap-icons-map, "clipboard-heart"); } +.bi-clipboard-minus-fill::before { content: map-get($bootstrap-icons-map, "clipboard-minus-fill"); } +.bi-clipboard-plus-fill::before { content: map-get($bootstrap-icons-map, "clipboard-plus-fill"); } +.bi-clipboard-pulse::before { content: map-get($bootstrap-icons-map, "clipboard-pulse"); } +.bi-clipboard-x-fill::before { content: map-get($bootstrap-icons-map, "clipboard-x-fill"); } +.bi-clipboard2-check-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-check-fill"); } +.bi-clipboard2-check::before { content: map-get($bootstrap-icons-map, "clipboard2-check"); } +.bi-clipboard2-data-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-data-fill"); } +.bi-clipboard2-data::before { content: map-get($bootstrap-icons-map, "clipboard2-data"); } +.bi-clipboard2-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-fill"); } +.bi-clipboard2-heart-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-heart-fill"); } +.bi-clipboard2-heart::before { content: map-get($bootstrap-icons-map, "clipboard2-heart"); } +.bi-clipboard2-minus-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-minus-fill"); } +.bi-clipboard2-minus::before { content: map-get($bootstrap-icons-map, "clipboard2-minus"); } +.bi-clipboard2-plus-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-plus-fill"); } +.bi-clipboard2-plus::before { content: map-get($bootstrap-icons-map, "clipboard2-plus"); } +.bi-clipboard2-pulse-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-pulse-fill"); } +.bi-clipboard2-pulse::before { content: map-get($bootstrap-icons-map, "clipboard2-pulse"); } +.bi-clipboard2-x-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-x-fill"); } +.bi-clipboard2-x::before { content: map-get($bootstrap-icons-map, "clipboard2-x"); } +.bi-clipboard2::before { content: map-get($bootstrap-icons-map, "clipboard2"); } +.bi-emoji-kiss-fill::before { content: map-get($bootstrap-icons-map, "emoji-kiss-fill"); } +.bi-emoji-kiss::before { content: map-get($bootstrap-icons-map, "emoji-kiss"); } +.bi-envelope-heart-fill::before { content: map-get($bootstrap-icons-map, "envelope-heart-fill"); } +.bi-envelope-heart::before { content: map-get($bootstrap-icons-map, "envelope-heart"); } +.bi-envelope-open-heart-fill::before { content: map-get($bootstrap-icons-map, "envelope-open-heart-fill"); } +.bi-envelope-open-heart::before { content: map-get($bootstrap-icons-map, "envelope-open-heart"); } +.bi-envelope-paper-fill::before { content: map-get($bootstrap-icons-map, "envelope-paper-fill"); } +.bi-envelope-paper-heart-fill::before { content: map-get($bootstrap-icons-map, "envelope-paper-heart-fill"); } +.bi-envelope-paper-heart::before { content: map-get($bootstrap-icons-map, "envelope-paper-heart"); } +.bi-envelope-paper::before { content: map-get($bootstrap-icons-map, "envelope-paper"); } +.bi-filetype-aac::before { content: map-get($bootstrap-icons-map, "filetype-aac"); } +.bi-filetype-ai::before { content: map-get($bootstrap-icons-map, "filetype-ai"); } +.bi-filetype-bmp::before { content: map-get($bootstrap-icons-map, "filetype-bmp"); } +.bi-filetype-cs::before { content: map-get($bootstrap-icons-map, "filetype-cs"); } +.bi-filetype-css::before { content: map-get($bootstrap-icons-map, "filetype-css"); } +.bi-filetype-csv::before { content: map-get($bootstrap-icons-map, "filetype-csv"); } +.bi-filetype-doc::before { content: map-get($bootstrap-icons-map, "filetype-doc"); } +.bi-filetype-docx::before { content: map-get($bootstrap-icons-map, "filetype-docx"); } +.bi-filetype-exe::before { content: map-get($bootstrap-icons-map, "filetype-exe"); } +.bi-filetype-gif::before { content: map-get($bootstrap-icons-map, "filetype-gif"); } +.bi-filetype-heic::before { content: map-get($bootstrap-icons-map, "filetype-heic"); } +.bi-filetype-html::before { content: map-get($bootstrap-icons-map, "filetype-html"); } +.bi-filetype-java::before { content: map-get($bootstrap-icons-map, "filetype-java"); } +.bi-filetype-jpg::before { content: map-get($bootstrap-icons-map, "filetype-jpg"); } +.bi-filetype-js::before { content: map-get($bootstrap-icons-map, "filetype-js"); } +.bi-filetype-jsx::before { content: map-get($bootstrap-icons-map, "filetype-jsx"); } +.bi-filetype-key::before { content: map-get($bootstrap-icons-map, "filetype-key"); } +.bi-filetype-m4p::before { content: map-get($bootstrap-icons-map, "filetype-m4p"); } +.bi-filetype-md::before { content: map-get($bootstrap-icons-map, "filetype-md"); } +.bi-filetype-mdx::before { content: map-get($bootstrap-icons-map, "filetype-mdx"); } +.bi-filetype-mov::before { content: map-get($bootstrap-icons-map, "filetype-mov"); } +.bi-filetype-mp3::before { content: map-get($bootstrap-icons-map, "filetype-mp3"); } +.bi-filetype-mp4::before { content: map-get($bootstrap-icons-map, "filetype-mp4"); } +.bi-filetype-otf::before { content: map-get($bootstrap-icons-map, "filetype-otf"); } +.bi-filetype-pdf::before { content: map-get($bootstrap-icons-map, "filetype-pdf"); } +.bi-filetype-php::before { content: map-get($bootstrap-icons-map, "filetype-php"); } +.bi-filetype-png::before { content: map-get($bootstrap-icons-map, "filetype-png"); } +.bi-filetype-ppt-1::before { content: map-get($bootstrap-icons-map, "filetype-ppt-1"); } +.bi-filetype-ppt::before { content: map-get($bootstrap-icons-map, "filetype-ppt"); } +.bi-filetype-psd::before { content: map-get($bootstrap-icons-map, "filetype-psd"); } +.bi-filetype-py::before { content: map-get($bootstrap-icons-map, "filetype-py"); } +.bi-filetype-raw::before { content: map-get($bootstrap-icons-map, "filetype-raw"); } +.bi-filetype-rb::before { content: map-get($bootstrap-icons-map, "filetype-rb"); } +.bi-filetype-sass::before { content: map-get($bootstrap-icons-map, "filetype-sass"); } +.bi-filetype-scss::before { content: map-get($bootstrap-icons-map, "filetype-scss"); } +.bi-filetype-sh::before { content: map-get($bootstrap-icons-map, "filetype-sh"); } +.bi-filetype-svg::before { content: map-get($bootstrap-icons-map, "filetype-svg"); } +.bi-filetype-tiff::before { content: map-get($bootstrap-icons-map, "filetype-tiff"); } +.bi-filetype-tsx::before { content: map-get($bootstrap-icons-map, "filetype-tsx"); } +.bi-filetype-ttf::before { content: map-get($bootstrap-icons-map, "filetype-ttf"); } +.bi-filetype-txt::before { content: map-get($bootstrap-icons-map, "filetype-txt"); } +.bi-filetype-wav::before { content: map-get($bootstrap-icons-map, "filetype-wav"); } +.bi-filetype-woff::before { content: map-get($bootstrap-icons-map, "filetype-woff"); } +.bi-filetype-xls-1::before { content: map-get($bootstrap-icons-map, "filetype-xls-1"); } +.bi-filetype-xls::before { content: map-get($bootstrap-icons-map, "filetype-xls"); } +.bi-filetype-xml::before { content: map-get($bootstrap-icons-map, "filetype-xml"); } +.bi-filetype-yml::before { content: map-get($bootstrap-icons-map, "filetype-yml"); } +.bi-heart-arrow::before { content: map-get($bootstrap-icons-map, "heart-arrow"); } +.bi-heart-pulse-fill::before { content: map-get($bootstrap-icons-map, "heart-pulse-fill"); } +.bi-heart-pulse::before { content: map-get($bootstrap-icons-map, "heart-pulse"); } +.bi-heartbreak-fill::before { content: map-get($bootstrap-icons-map, "heartbreak-fill"); } +.bi-heartbreak::before { content: map-get($bootstrap-icons-map, "heartbreak"); } +.bi-hearts::before { content: map-get($bootstrap-icons-map, "hearts"); } +.bi-hospital-fill::before { content: map-get($bootstrap-icons-map, "hospital-fill"); } +.bi-hospital::before { content: map-get($bootstrap-icons-map, "hospital"); } +.bi-house-heart-fill::before { content: map-get($bootstrap-icons-map, "house-heart-fill"); } +.bi-house-heart::before { content: map-get($bootstrap-icons-map, "house-heart"); } +.bi-incognito::before { content: map-get($bootstrap-icons-map, "incognito"); } +.bi-magnet-fill::before { content: map-get($bootstrap-icons-map, "magnet-fill"); } +.bi-magnet::before { content: map-get($bootstrap-icons-map, "magnet"); } +.bi-person-heart::before { content: map-get($bootstrap-icons-map, "person-heart"); } +.bi-person-hearts::before { content: map-get($bootstrap-icons-map, "person-hearts"); } +.bi-phone-flip::before { content: map-get($bootstrap-icons-map, "phone-flip"); } +.bi-plugin::before { content: map-get($bootstrap-icons-map, "plugin"); } +.bi-postage-fill::before { content: map-get($bootstrap-icons-map, "postage-fill"); } +.bi-postage-heart-fill::before { content: map-get($bootstrap-icons-map, "postage-heart-fill"); } +.bi-postage-heart::before { content: map-get($bootstrap-icons-map, "postage-heart"); } +.bi-postage::before { content: map-get($bootstrap-icons-map, "postage"); } +.bi-postcard-fill::before { content: map-get($bootstrap-icons-map, "postcard-fill"); } +.bi-postcard-heart-fill::before { content: map-get($bootstrap-icons-map, "postcard-heart-fill"); } +.bi-postcard-heart::before { content: map-get($bootstrap-icons-map, "postcard-heart"); } +.bi-postcard::before { content: map-get($bootstrap-icons-map, "postcard"); } +.bi-search-heart-fill::before { content: map-get($bootstrap-icons-map, "search-heart-fill"); } +.bi-search-heart::before { content: map-get($bootstrap-icons-map, "search-heart"); } +.bi-sliders2-vertical::before { content: map-get($bootstrap-icons-map, "sliders2-vertical"); } +.bi-sliders2::before { content: map-get($bootstrap-icons-map, "sliders2"); } +.bi-trash3-fill::before { content: map-get($bootstrap-icons-map, "trash3-fill"); } +.bi-trash3::before { content: map-get($bootstrap-icons-map, "trash3"); } +.bi-valentine::before { content: map-get($bootstrap-icons-map, "valentine"); } +.bi-valentine2::before { content: map-get($bootstrap-icons-map, "valentine2"); } +.bi-wrench-adjustable-circle-fill::before { content: map-get($bootstrap-icons-map, "wrench-adjustable-circle-fill"); } +.bi-wrench-adjustable-circle::before { content: map-get($bootstrap-icons-map, "wrench-adjustable-circle"); } +.bi-wrench-adjustable::before { content: map-get($bootstrap-icons-map, "wrench-adjustable"); } +.bi-filetype-json::before { content: map-get($bootstrap-icons-map, "filetype-json"); } +.bi-filetype-pptx::before { content: map-get($bootstrap-icons-map, "filetype-pptx"); } +.bi-filetype-xlsx::before { content: map-get($bootstrap-icons-map, "filetype-xlsx"); } +.bi-1-circle-1::before { content: map-get($bootstrap-icons-map, "1-circle-1"); } +.bi-1-circle-fill-1::before { content: map-get($bootstrap-icons-map, "1-circle-fill-1"); } +.bi-1-circle-fill::before { content: map-get($bootstrap-icons-map, "1-circle-fill"); } +.bi-1-circle::before { content: map-get($bootstrap-icons-map, "1-circle"); } +.bi-1-square-fill::before { content: map-get($bootstrap-icons-map, "1-square-fill"); } +.bi-1-square::before { content: map-get($bootstrap-icons-map, "1-square"); } +.bi-2-circle-1::before { content: map-get($bootstrap-icons-map, "2-circle-1"); } +.bi-2-circle-fill-1::before { content: map-get($bootstrap-icons-map, "2-circle-fill-1"); } +.bi-2-circle-fill::before { content: map-get($bootstrap-icons-map, "2-circle-fill"); } +.bi-2-circle::before { content: map-get($bootstrap-icons-map, "2-circle"); } +.bi-2-square-fill::before { content: map-get($bootstrap-icons-map, "2-square-fill"); } +.bi-2-square::before { content: map-get($bootstrap-icons-map, "2-square"); } +.bi-3-circle-1::before { content: map-get($bootstrap-icons-map, "3-circle-1"); } +.bi-3-circle-fill-1::before { content: map-get($bootstrap-icons-map, "3-circle-fill-1"); } +.bi-3-circle-fill::before { content: map-get($bootstrap-icons-map, "3-circle-fill"); } +.bi-3-circle::before { content: map-get($bootstrap-icons-map, "3-circle"); } +.bi-3-square-fill::before { content: map-get($bootstrap-icons-map, "3-square-fill"); } +.bi-3-square::before { content: map-get($bootstrap-icons-map, "3-square"); } +.bi-4-circle-1::before { content: map-get($bootstrap-icons-map, "4-circle-1"); } +.bi-4-circle-fill-1::before { content: map-get($bootstrap-icons-map, "4-circle-fill-1"); } +.bi-4-circle-fill::before { content: map-get($bootstrap-icons-map, "4-circle-fill"); } +.bi-4-circle::before { content: map-get($bootstrap-icons-map, "4-circle"); } +.bi-4-square-fill::before { content: map-get($bootstrap-icons-map, "4-square-fill"); } +.bi-4-square::before { content: map-get($bootstrap-icons-map, "4-square"); } +.bi-5-circle-1::before { content: map-get($bootstrap-icons-map, "5-circle-1"); } +.bi-5-circle-fill-1::before { content: map-get($bootstrap-icons-map, "5-circle-fill-1"); } +.bi-5-circle-fill::before { content: map-get($bootstrap-icons-map, "5-circle-fill"); } +.bi-5-circle::before { content: map-get($bootstrap-icons-map, "5-circle"); } +.bi-5-square-fill::before { content: map-get($bootstrap-icons-map, "5-square-fill"); } +.bi-5-square::before { content: map-get($bootstrap-icons-map, "5-square"); } +.bi-6-circle-1::before { content: map-get($bootstrap-icons-map, "6-circle-1"); } +.bi-6-circle-fill-1::before { content: map-get($bootstrap-icons-map, "6-circle-fill-1"); } +.bi-6-circle-fill::before { content: map-get($bootstrap-icons-map, "6-circle-fill"); } +.bi-6-circle::before { content: map-get($bootstrap-icons-map, "6-circle"); } +.bi-6-square-fill::before { content: map-get($bootstrap-icons-map, "6-square-fill"); } +.bi-6-square::before { content: map-get($bootstrap-icons-map, "6-square"); } +.bi-7-circle-1::before { content: map-get($bootstrap-icons-map, "7-circle-1"); } +.bi-7-circle-fill-1::before { content: map-get($bootstrap-icons-map, "7-circle-fill-1"); } +.bi-7-circle-fill::before { content: map-get($bootstrap-icons-map, "7-circle-fill"); } +.bi-7-circle::before { content: map-get($bootstrap-icons-map, "7-circle"); } +.bi-7-square-fill::before { content: map-get($bootstrap-icons-map, "7-square-fill"); } +.bi-7-square::before { content: map-get($bootstrap-icons-map, "7-square"); } +.bi-8-circle-1::before { content: map-get($bootstrap-icons-map, "8-circle-1"); } +.bi-8-circle-fill-1::before { content: map-get($bootstrap-icons-map, "8-circle-fill-1"); } +.bi-8-circle-fill::before { content: map-get($bootstrap-icons-map, "8-circle-fill"); } +.bi-8-circle::before { content: map-get($bootstrap-icons-map, "8-circle"); } +.bi-8-square-fill::before { content: map-get($bootstrap-icons-map, "8-square-fill"); } +.bi-8-square::before { content: map-get($bootstrap-icons-map, "8-square"); } +.bi-9-circle-1::before { content: map-get($bootstrap-icons-map, "9-circle-1"); } +.bi-9-circle-fill-1::before { content: map-get($bootstrap-icons-map, "9-circle-fill-1"); } +.bi-9-circle-fill::before { content: map-get($bootstrap-icons-map, "9-circle-fill"); } +.bi-9-circle::before { content: map-get($bootstrap-icons-map, "9-circle"); } +.bi-9-square-fill::before { content: map-get($bootstrap-icons-map, "9-square-fill"); } +.bi-9-square::before { content: map-get($bootstrap-icons-map, "9-square"); } +.bi-airplane-engines-fill::before { content: map-get($bootstrap-icons-map, "airplane-engines-fill"); } +.bi-airplane-engines::before { content: map-get($bootstrap-icons-map, "airplane-engines"); } +.bi-airplane-fill::before { content: map-get($bootstrap-icons-map, "airplane-fill"); } +.bi-airplane::before { content: map-get($bootstrap-icons-map, "airplane"); } +.bi-alexa::before { content: map-get($bootstrap-icons-map, "alexa"); } +.bi-alipay::before { content: map-get($bootstrap-icons-map, "alipay"); } +.bi-android::before { content: map-get($bootstrap-icons-map, "android"); } +.bi-android2::before { content: map-get($bootstrap-icons-map, "android2"); } +.bi-box-fill::before { content: map-get($bootstrap-icons-map, "box-fill"); } +.bi-box-seam-fill::before { content: map-get($bootstrap-icons-map, "box-seam-fill"); } +.bi-browser-chrome::before { content: map-get($bootstrap-icons-map, "browser-chrome"); } +.bi-browser-edge::before { content: map-get($bootstrap-icons-map, "browser-edge"); } +.bi-browser-firefox::before { content: map-get($bootstrap-icons-map, "browser-firefox"); } +.bi-browser-safari::before { content: map-get($bootstrap-icons-map, "browser-safari"); } +.bi-c-circle-1::before { content: map-get($bootstrap-icons-map, "c-circle-1"); } +.bi-c-circle-fill-1::before { content: map-get($bootstrap-icons-map, "c-circle-fill-1"); } +.bi-c-circle-fill::before { content: map-get($bootstrap-icons-map, "c-circle-fill"); } +.bi-c-circle::before { content: map-get($bootstrap-icons-map, "c-circle"); } +.bi-c-square-fill::before { content: map-get($bootstrap-icons-map, "c-square-fill"); } +.bi-c-square::before { content: map-get($bootstrap-icons-map, "c-square"); } +.bi-capsule-pill::before { content: map-get($bootstrap-icons-map, "capsule-pill"); } +.bi-capsule::before { content: map-get($bootstrap-icons-map, "capsule"); } +.bi-car-front-fill::before { content: map-get($bootstrap-icons-map, "car-front-fill"); } +.bi-car-front::before { content: map-get($bootstrap-icons-map, "car-front"); } +.bi-cassette-fill::before { content: map-get($bootstrap-icons-map, "cassette-fill"); } +.bi-cassette::before { content: map-get($bootstrap-icons-map, "cassette"); } +.bi-cc-circle-1::before { content: map-get($bootstrap-icons-map, "cc-circle-1"); } +.bi-cc-circle-fill-1::before { content: map-get($bootstrap-icons-map, "cc-circle-fill-1"); } +.bi-cc-circle-fill::before { content: map-get($bootstrap-icons-map, "cc-circle-fill"); } +.bi-cc-circle::before { content: map-get($bootstrap-icons-map, "cc-circle"); } +.bi-cc-square-fill::before { content: map-get($bootstrap-icons-map, "cc-square-fill"); } +.bi-cc-square::before { content: map-get($bootstrap-icons-map, "cc-square"); } +.bi-cup-hot-fill::before { content: map-get($bootstrap-icons-map, "cup-hot-fill"); } +.bi-cup-hot::before { content: map-get($bootstrap-icons-map, "cup-hot"); } +.bi-currency-rupee::before { content: map-get($bootstrap-icons-map, "currency-rupee"); } +.bi-dropbox::before { content: map-get($bootstrap-icons-map, "dropbox"); } +.bi-escape::before { content: map-get($bootstrap-icons-map, "escape"); } +.bi-fast-forward-btn-fill::before { content: map-get($bootstrap-icons-map, "fast-forward-btn-fill"); } +.bi-fast-forward-btn::before { content: map-get($bootstrap-icons-map, "fast-forward-btn"); } +.bi-fast-forward-circle-fill::before { content: map-get($bootstrap-icons-map, "fast-forward-circle-fill"); } +.bi-fast-forward-circle::before { content: map-get($bootstrap-icons-map, "fast-forward-circle"); } +.bi-fast-forward-fill::before { content: map-get($bootstrap-icons-map, "fast-forward-fill"); } +.bi-fast-forward::before { content: map-get($bootstrap-icons-map, "fast-forward"); } +.bi-filetype-sql::before { content: map-get($bootstrap-icons-map, "filetype-sql"); } +.bi-fire::before { content: map-get($bootstrap-icons-map, "fire"); } +.bi-google-play::before { content: map-get($bootstrap-icons-map, "google-play"); } +.bi-h-circle-1::before { content: map-get($bootstrap-icons-map, "h-circle-1"); } +.bi-h-circle-fill-1::before { content: map-get($bootstrap-icons-map, "h-circle-fill-1"); } +.bi-h-circle-fill::before { content: map-get($bootstrap-icons-map, "h-circle-fill"); } +.bi-h-circle::before { content: map-get($bootstrap-icons-map, "h-circle"); } +.bi-h-square-fill::before { content: map-get($bootstrap-icons-map, "h-square-fill"); } +.bi-h-square::before { content: map-get($bootstrap-icons-map, "h-square"); } +.bi-indent::before { content: map-get($bootstrap-icons-map, "indent"); } +.bi-lungs-fill::before { content: map-get($bootstrap-icons-map, "lungs-fill"); } +.bi-lungs::before { content: map-get($bootstrap-icons-map, "lungs"); } +.bi-microsoft-teams::before { content: map-get($bootstrap-icons-map, "microsoft-teams"); } +.bi-p-circle-1::before { content: map-get($bootstrap-icons-map, "p-circle-1"); } +.bi-p-circle-fill-1::before { content: map-get($bootstrap-icons-map, "p-circle-fill-1"); } +.bi-p-circle-fill::before { content: map-get($bootstrap-icons-map, "p-circle-fill"); } +.bi-p-circle::before { content: map-get($bootstrap-icons-map, "p-circle"); } +.bi-p-square-fill::before { content: map-get($bootstrap-icons-map, "p-square-fill"); } +.bi-p-square::before { content: map-get($bootstrap-icons-map, "p-square"); } +.bi-pass-fill::before { content: map-get($bootstrap-icons-map, "pass-fill"); } +.bi-pass::before { content: map-get($bootstrap-icons-map, "pass"); } +.bi-prescription::before { content: map-get($bootstrap-icons-map, "prescription"); } +.bi-prescription2::before { content: map-get($bootstrap-icons-map, "prescription2"); } +.bi-r-circle-1::before { content: map-get($bootstrap-icons-map, "r-circle-1"); } +.bi-r-circle-fill-1::before { content: map-get($bootstrap-icons-map, "r-circle-fill-1"); } +.bi-r-circle-fill::before { content: map-get($bootstrap-icons-map, "r-circle-fill"); } +.bi-r-circle::before { content: map-get($bootstrap-icons-map, "r-circle"); } +.bi-r-square-fill::before { content: map-get($bootstrap-icons-map, "r-square-fill"); } +.bi-r-square::before { content: map-get($bootstrap-icons-map, "r-square"); } +.bi-repeat-1::before { content: map-get($bootstrap-icons-map, "repeat-1"); } +.bi-repeat::before { content: map-get($bootstrap-icons-map, "repeat"); } +.bi-rewind-btn-fill::before { content: map-get($bootstrap-icons-map, "rewind-btn-fill"); } +.bi-rewind-btn::before { content: map-get($bootstrap-icons-map, "rewind-btn"); } +.bi-rewind-circle-fill::before { content: map-get($bootstrap-icons-map, "rewind-circle-fill"); } +.bi-rewind-circle::before { content: map-get($bootstrap-icons-map, "rewind-circle"); } +.bi-rewind-fill::before { content: map-get($bootstrap-icons-map, "rewind-fill"); } +.bi-rewind::before { content: map-get($bootstrap-icons-map, "rewind"); } +.bi-train-freight-front-fill::before { content: map-get($bootstrap-icons-map, "train-freight-front-fill"); } +.bi-train-freight-front::before { content: map-get($bootstrap-icons-map, "train-freight-front"); } +.bi-train-front-fill::before { content: map-get($bootstrap-icons-map, "train-front-fill"); } +.bi-train-front::before { content: map-get($bootstrap-icons-map, "train-front"); } +.bi-train-lightrail-front-fill::before { content: map-get($bootstrap-icons-map, "train-lightrail-front-fill"); } +.bi-train-lightrail-front::before { content: map-get($bootstrap-icons-map, "train-lightrail-front"); } +.bi-truck-front-fill::before { content: map-get($bootstrap-icons-map, "truck-front-fill"); } +.bi-truck-front::before { content: map-get($bootstrap-icons-map, "truck-front"); } +.bi-ubuntu::before { content: map-get($bootstrap-icons-map, "ubuntu"); } +.bi-unindent::before { content: map-get($bootstrap-icons-map, "unindent"); } +.bi-unity::before { content: map-get($bootstrap-icons-map, "unity"); } +.bi-universal-access-circle::before { content: map-get($bootstrap-icons-map, "universal-access-circle"); } +.bi-universal-access::before { content: map-get($bootstrap-icons-map, "universal-access"); } +.bi-virus::before { content: map-get($bootstrap-icons-map, "virus"); } +.bi-virus2::before { content: map-get($bootstrap-icons-map, "virus2"); } +.bi-wechat::before { content: map-get($bootstrap-icons-map, "wechat"); } +.bi-yelp::before { content: map-get($bootstrap-icons-map, "yelp"); } +.bi-sign-stop-fill::before { content: map-get($bootstrap-icons-map, "sign-stop-fill"); } +.bi-sign-stop-lights-fill::before { content: map-get($bootstrap-icons-map, "sign-stop-lights-fill"); } +.bi-sign-stop-lights::before { content: map-get($bootstrap-icons-map, "sign-stop-lights"); } +.bi-sign-stop::before { content: map-get($bootstrap-icons-map, "sign-stop"); } +.bi-sign-turn-left-fill::before { content: map-get($bootstrap-icons-map, "sign-turn-left-fill"); } +.bi-sign-turn-left::before { content: map-get($bootstrap-icons-map, "sign-turn-left"); } +.bi-sign-turn-right-fill::before { content: map-get($bootstrap-icons-map, "sign-turn-right-fill"); } +.bi-sign-turn-right::before { content: map-get($bootstrap-icons-map, "sign-turn-right"); } +.bi-sign-turn-slight-left-fill::before { content: map-get($bootstrap-icons-map, "sign-turn-slight-left-fill"); } +.bi-sign-turn-slight-left::before { content: map-get($bootstrap-icons-map, "sign-turn-slight-left"); } +.bi-sign-turn-slight-right-fill::before { content: map-get($bootstrap-icons-map, "sign-turn-slight-right-fill"); } +.bi-sign-turn-slight-right::before { content: map-get($bootstrap-icons-map, "sign-turn-slight-right"); } +.bi-sign-yield-fill::before { content: map-get($bootstrap-icons-map, "sign-yield-fill"); } +.bi-sign-yield::before { content: map-get($bootstrap-icons-map, "sign-yield"); } +.bi-ev-station-fill::before { content: map-get($bootstrap-icons-map, "ev-station-fill"); } +.bi-ev-station::before { content: map-get($bootstrap-icons-map, "ev-station"); } +.bi-fuel-pump-diesel-fill::before { content: map-get($bootstrap-icons-map, "fuel-pump-diesel-fill"); } +.bi-fuel-pump-diesel::before { content: map-get($bootstrap-icons-map, "fuel-pump-diesel"); } +.bi-fuel-pump-fill::before { content: map-get($bootstrap-icons-map, "fuel-pump-fill"); } +.bi-fuel-pump::before { content: map-get($bootstrap-icons-map, "fuel-pump"); } diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff new file mode 100644 index 000000000..cf0a6d0fb Binary files /dev/null and b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff differ diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff2 b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff2 new file mode 100644 index 000000000..ecc8f4c5d Binary files /dev/null and b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff2 differ diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/font/index.html b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/index.html new file mode 100644 index 000000000..1dd4cb1ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/index.html @@ -0,0 +1,7291 @@ + + + + + bootstrap-icons + + + + + + + + +

bootstrap-icons

+ +
+
+ +
123
+
+
+ +
1-circle-fill
+
+
+ +
1-circle
+
+
+ +
1-square-fill
+
+
+ +
1-square
+
+
+ +
2-circle-fill
+
+
+ +
2-circle
+
+
+ +
2-square-fill
+
+
+ +
2-square
+
+
+ +
3-circle-fill
+
+
+ +
3-circle
+
+
+ +
3-square-fill
+
+
+ +
3-square
+
+
+ +
4-circle-fill
+
+
+ +
4-circle
+
+
+ +
4-square-fill
+
+
+ +
4-square
+
+
+ +
5-circle-fill
+
+
+ +
5-circle
+
+
+ +
5-square-fill
+
+
+ +
5-square
+
+
+ +
6-circle-fill
+
+
+ +
6-circle
+
+
+ +
6-square-fill
+
+
+ +
6-square
+
+
+ +
7-circle-fill
+
+
+ +
7-circle
+
+
+ +
7-square-fill
+
+
+ +
7-square
+
+
+ +
8-circle-fill
+
+
+ +
8-circle
+
+
+ +
8-square-fill
+
+
+ +
8-square
+
+
+ +
9-circle-fill
+
+
+ +
9-circle
+
+
+ +
9-square-fill
+
+
+ +
9-square
+
+
+ +
activity
+
+
+ +
airplane-engines-fill
+
+
+ +
airplane-engines
+
+
+ +
airplane-fill
+
+
+ +
airplane
+
+
+ +
alarm-fill
+
+
+ +
alarm
+
+
+ +
alexa
+
+
+ +
align-bottom
+
+
+ +
align-center
+
+
+ +
align-end
+
+
+ +
align-middle
+
+
+ +
align-start
+
+
+ +
align-top
+
+
+ +
alipay
+
+
+ +
alt
+
+
+ +
android
+
+
+ +
android2
+
+
+ +
app-indicator
+
+
+ +
app
+
+
+ +
apple
+
+
+ +
archive-fill
+
+
+ +
archive
+
+
+ +
arrow-90deg-down
+
+
+ +
arrow-90deg-left
+
+
+ +
arrow-90deg-right
+
+
+ +
arrow-90deg-up
+
+
+ +
arrow-bar-down
+
+
+ +
arrow-bar-left
+
+
+ +
arrow-bar-right
+
+
+ +
arrow-bar-up
+
+
+ +
arrow-clockwise
+
+
+ +
arrow-counterclockwise
+
+
+ +
arrow-down-circle-fill
+
+
+ +
arrow-down-circle
+
+
+ +
arrow-down-left-circle-fill
+
+
+ +
arrow-down-left-circle
+
+
+ +
arrow-down-left-square-fill
+
+
+ +
arrow-down-left-square
+
+
+ +
arrow-down-left
+
+
+ +
arrow-down-right-circle-fill
+
+
+ +
arrow-down-right-circle
+
+
+ +
arrow-down-right-square-fill
+
+
+ +
arrow-down-right-square
+
+
+ +
arrow-down-right
+
+
+ +
arrow-down-short
+
+
+ +
arrow-down-square-fill
+
+
+ +
arrow-down-square
+
+
+ +
arrow-down-up
+
+
+ +
arrow-down
+
+
+ +
arrow-left-circle-fill
+
+
+ +
arrow-left-circle
+
+
+ +
arrow-left-right
+
+
+ +
arrow-left-short
+
+
+ +
arrow-left-square-fill
+
+
+ +
arrow-left-square
+
+
+ +
arrow-left
+
+
+ +
arrow-repeat
+
+
+ +
arrow-return-left
+
+
+ +
arrow-return-right
+
+
+ +
arrow-right-circle-fill
+
+
+ +
arrow-right-circle
+
+
+ +
arrow-right-short
+
+
+ +
arrow-right-square-fill
+
+
+ +
arrow-right-square
+
+
+ +
arrow-right
+
+
+ +
arrow-through-heart-fill
+
+
+ +
arrow-through-heart
+
+
+ +
arrow-up-circle-fill
+
+
+ +
arrow-up-circle
+
+
+ +
arrow-up-left-circle-fill
+
+
+ +
arrow-up-left-circle
+
+
+ +
arrow-up-left-square-fill
+
+
+ +
arrow-up-left-square
+
+
+ +
arrow-up-left
+
+
+ +
arrow-up-right-circle-fill
+
+
+ +
arrow-up-right-circle
+
+
+ +
arrow-up-right-square-fill
+
+
+ +
arrow-up-right-square
+
+
+ +
arrow-up-right
+
+
+ +
arrow-up-short
+
+
+ +
arrow-up-square-fill
+
+
+ +
arrow-up-square
+
+
+ +
arrow-up
+
+
+ +
arrows-angle-contract
+
+
+ +
arrows-angle-expand
+
+
+ +
arrows-collapse
+
+
+ +
arrows-expand
+
+
+ +
arrows-fullscreen
+
+
+ +
arrows-move
+
+
+ +
aspect-ratio-fill
+
+
+ +
aspect-ratio
+
+
+ +
asterisk
+
+
+ +
at
+
+
+ +
award-fill
+
+
+ +
award
+
+
+ +
back
+
+
+ +
backspace-fill
+
+
+ +
backspace-reverse-fill
+
+
+ +
backspace-reverse
+
+
+ +
backspace
+
+
+ +
badge-3d-fill
+
+
+ +
badge-3d
+
+
+ +
badge-4k-fill
+
+
+ +
badge-4k
+
+
+ +
badge-8k-fill
+
+
+ +
badge-8k
+
+
+ +
badge-ad-fill
+
+
+ +
badge-ad
+
+
+ +
badge-ar-fill
+
+
+ +
badge-ar
+
+
+ +
badge-cc-fill
+
+
+ +
badge-cc
+
+
+ +
badge-hd-fill
+
+
+ +
badge-hd
+
+
+ +
badge-sd-fill
+
+
+ +
badge-sd
+
+
+ +
badge-tm-fill
+
+
+ +
badge-tm
+
+
+ +
badge-vo-fill
+
+
+ +
badge-vo
+
+
+ +
badge-vr-fill
+
+
+ +
badge-vr
+
+
+ +
badge-wc-fill
+
+
+ +
badge-wc
+
+
+ +
bag-check-fill
+
+
+ +
bag-check
+
+
+ +
bag-dash-fill
+
+
+ +
bag-dash
+
+
+ +
bag-fill
+
+
+ +
bag-heart-fill
+
+
+ +
bag-heart
+
+
+ +
bag-plus-fill
+
+
+ +
bag-plus
+
+
+ +
bag-x-fill
+
+
+ +
bag-x
+
+
+ +
bag
+
+
+ +
balloon-fill
+
+
+ +
balloon-heart-fill
+
+
+ +
balloon-heart
+
+
+ +
balloon
+
+
+ +
bandaid-fill
+
+
+ +
bandaid
+
+
+ +
bank
+
+
+ +
bank2
+
+
+ +
bar-chart-fill
+
+
+ +
bar-chart-line-fill
+
+
+ +
bar-chart-line
+
+
+ +
bar-chart-steps
+
+
+ +
bar-chart
+
+
+ +
basket-fill
+
+
+ +
basket
+
+
+ +
basket2-fill
+
+
+ +
basket2
+
+
+ +
basket3-fill
+
+
+ +
basket3
+
+
+ +
battery-charging
+
+
+ +
battery-full
+
+
+ +
battery-half
+
+
+ +
battery
+
+
+ +
behance
+
+
+ +
bell-fill
+
+
+ +
bell-slash-fill
+
+
+ +
bell-slash
+
+
+ +
bell
+
+
+ +
bezier
+
+
+ +
bezier2
+
+
+ +
bicycle
+
+
+ +
binoculars-fill
+
+
+ +
binoculars
+
+
+ +
blockquote-left
+
+
+ +
blockquote-right
+
+
+ +
bluetooth
+
+
+ +
body-text
+
+
+ +
book-fill
+
+
+ +
book-half
+
+
+ +
book
+
+
+ +
bookmark-check-fill
+
+
+ +
bookmark-check
+
+
+ +
bookmark-dash-fill
+
+
+ +
bookmark-dash
+
+
+ +
bookmark-fill
+
+
+ +
bookmark-heart-fill
+
+
+ +
bookmark-heart
+
+
+ +
bookmark-plus-fill
+
+
+ +
bookmark-plus
+
+
+ +
bookmark-star-fill
+
+
+ +
bookmark-star
+
+
+ +
bookmark-x-fill
+
+
+ +
bookmark-x
+
+
+ +
bookmark
+
+
+ +
bookmarks-fill
+
+
+ +
bookmarks
+
+
+ +
bookshelf
+
+
+ +
boombox-fill
+
+
+ +
boombox
+
+
+ +
bootstrap-fill
+
+
+ +
bootstrap-reboot
+
+
+ +
bootstrap
+
+
+ +
border-all
+
+
+ +
border-bottom
+
+
+ +
border-center
+
+
+ +
border-inner
+
+
+ +
border-left
+
+
+ +
border-middle
+
+
+ +
border-outer
+
+
+ +
border-right
+
+
+ +
border-style
+
+
+ +
border-top
+
+
+ +
border-width
+
+
+ +
border
+
+
+ +
bounding-box-circles
+
+
+ +
bounding-box
+
+
+ +
box-arrow-down-left
+
+
+ +
box-arrow-down-right
+
+
+ +
box-arrow-down
+
+
+ +
box-arrow-in-down-left
+
+
+ +
box-arrow-in-down-right
+
+
+ +
box-arrow-in-down
+
+
+ +
box-arrow-in-left
+
+
+ +
box-arrow-in-right
+
+
+ +
box-arrow-in-up-left
+
+
+ +
box-arrow-in-up-right
+
+
+ +
box-arrow-in-up
+
+
+ +
box-arrow-left
+
+
+ +
box-arrow-right
+
+
+ +
box-arrow-up-left
+
+
+ +
box-arrow-up-right
+
+
+ +
box-arrow-up
+
+
+ +
box-fill
+
+
+ +
box-seam-fill
+
+
+ +
box-seam
+
+
+ +
box
+
+
+ +
box2-fill
+
+
+ +
box2-heart-fill
+
+
+ +
box2-heart
+
+
+ +
box2
+
+
+ +
boxes
+
+
+ +
braces-asterisk
+
+
+ +
braces
+
+
+ +
bricks
+
+
+ +
briefcase-fill
+
+
+ +
briefcase
+
+
+ +
brightness-alt-high-fill
+
+
+ +
brightness-alt-high
+
+
+ +
brightness-alt-low-fill
+
+
+ +
brightness-alt-low
+
+
+ +
brightness-high-fill
+
+
+ +
brightness-high
+
+
+ +
brightness-low-fill
+
+
+ +
brightness-low
+
+
+ +
broadcast-pin
+
+
+ +
broadcast
+
+
+ +
browser-chrome
+
+
+ +
browser-edge
+
+
+ +
browser-firefox
+
+
+ +
browser-safari
+
+
+ +
brush-fill
+
+
+ +
brush
+
+
+ +
bucket-fill
+
+
+ +
bucket
+
+
+ +
bug-fill
+
+
+ +
bug
+
+
+ +
building
+
+
+ +
bullseye
+
+
+ +
c-circle-fill
+
+
+ +
c-circle
+
+
+ +
c-square-fill
+
+
+ +
c-square
+
+
+ +
calculator-fill
+
+
+ +
calculator
+
+
+ +
calendar-check-fill
+
+
+ +
calendar-check
+
+
+ +
calendar-date-fill
+
+
+ +
calendar-date
+
+
+ +
calendar-day-fill
+
+
+ +
calendar-day
+
+
+ +
calendar-event-fill
+
+
+ +
calendar-event
+
+
+ +
calendar-fill
+
+
+ +
calendar-heart-fill
+
+
+ +
calendar-heart
+
+
+ +
calendar-minus-fill
+
+
+ +
calendar-minus
+
+
+ +
calendar-month-fill
+
+
+ +
calendar-month
+
+
+ +
calendar-plus-fill
+
+
+ +
calendar-plus
+
+
+ +
calendar-range-fill
+
+
+ +
calendar-range
+
+
+ +
calendar-week-fill
+
+
+ +
calendar-week
+
+
+ +
calendar-x-fill
+
+
+ +
calendar-x
+
+
+ +
calendar
+
+
+ +
calendar2-check-fill
+
+
+ +
calendar2-check
+
+
+ +
calendar2-date-fill
+
+
+ +
calendar2-date
+
+
+ +
calendar2-day-fill
+
+
+ +
calendar2-day
+
+
+ +
calendar2-event-fill
+
+
+ +
calendar2-event
+
+
+ +
calendar2-fill
+
+
+ +
calendar2-heart-fill
+
+
+ +
calendar2-heart
+
+
+ +
calendar2-minus-fill
+
+
+ +
calendar2-minus
+
+
+ +
calendar2-month-fill
+
+
+ +
calendar2-month
+
+
+ +
calendar2-plus-fill
+
+
+ +
calendar2-plus
+
+
+ +
calendar2-range-fill
+
+
+ +
calendar2-range
+
+
+ +
calendar2-week-fill
+
+
+ +
calendar2-week
+
+
+ +
calendar2-x-fill
+
+
+ +
calendar2-x
+
+
+ +
calendar2
+
+
+ +
calendar3-event-fill
+
+
+ +
calendar3-event
+
+
+ +
calendar3-fill
+
+
+ +
calendar3-range-fill
+
+
+ +
calendar3-range
+
+
+ +
calendar3-week-fill
+
+
+ +
calendar3-week
+
+
+ +
calendar3
+
+
+ +
calendar4-event
+
+
+ +
calendar4-range
+
+
+ +
calendar4-week
+
+
+ +
calendar4
+
+
+ +
camera-fill
+
+
+ +
camera-reels-fill
+
+
+ +
camera-reels
+
+
+ +
camera-video-fill
+
+
+ +
camera-video-off-fill
+
+
+ +
camera-video-off
+
+
+ +
camera-video
+
+
+ +
camera
+
+
+ +
camera2
+
+
+ +
capslock-fill
+
+
+ +
capslock
+
+
+ +
capsule-pill
+
+
+ +
capsule
+
+
+ +
car-front-fill
+
+
+ +
car-front
+
+
+ +
card-checklist
+
+
+ +
card-heading
+
+
+ +
card-image
+
+
+ +
card-list
+
+
+ +
card-text
+
+
+ +
caret-down-fill
+
+
+ +
caret-down-square-fill
+
+
+ +
caret-down-square
+
+
+ +
caret-down
+
+
+ +
caret-left-fill
+
+
+ +
caret-left-square-fill
+
+
+ +
caret-left-square
+
+
+ +
caret-left
+
+
+ +
caret-right-fill
+
+
+ +
caret-right-square-fill
+
+
+ +
caret-right-square
+
+
+ +
caret-right
+
+
+ +
caret-up-fill
+
+
+ +
caret-up-square-fill
+
+
+ +
caret-up-square
+
+
+ +
caret-up
+
+
+ +
cart-check-fill
+
+
+ +
cart-check
+
+
+ +
cart-dash-fill
+
+
+ +
cart-dash
+
+
+ +
cart-fill
+
+
+ +
cart-plus-fill
+
+
+ +
cart-plus
+
+
+ +
cart-x-fill
+
+
+ +
cart-x
+
+
+ +
cart
+
+
+ +
cart2
+
+
+ +
cart3
+
+
+ +
cart4
+
+
+ +
cash-coin
+
+
+ +
cash-stack
+
+
+ +
cash
+
+
+ +
cassette-fill
+
+
+ +
cassette
+
+
+ +
cast
+
+
+ +
cc-circle-fill
+
+
+ +
cc-circle
+
+
+ +
cc-square-fill
+
+
+ +
cc-square
+
+
+ +
chat-dots-fill
+
+
+ +
chat-dots
+
+
+ +
chat-fill
+
+
+ +
chat-heart-fill
+
+
+ +
chat-heart
+
+
+ +
chat-left-dots-fill
+
+
+ +
chat-left-dots
+
+
+ +
chat-left-fill
+
+
+ +
chat-left-heart-fill
+
+
+ +
chat-left-heart
+
+
+ +
chat-left-quote-fill
+
+
+ +
chat-left-quote
+
+
+ +
chat-left-text-fill
+
+
+ +
chat-left-text
+
+
+ +
chat-left
+
+
+ +
chat-quote-fill
+
+
+ +
chat-quote
+
+
+ +
chat-right-dots-fill
+
+
+ +
chat-right-dots
+
+
+ +
chat-right-fill
+
+
+ +
chat-right-heart-fill
+
+
+ +
chat-right-heart
+
+
+ +
chat-right-quote-fill
+
+
+ +
chat-right-quote
+
+
+ +
chat-right-text-fill
+
+
+ +
chat-right-text
+
+
+ +
chat-right
+
+
+ +
chat-square-dots-fill
+
+
+ +
chat-square-dots
+
+
+ +
chat-square-fill
+
+
+ +
chat-square-heart-fill
+
+
+ +
chat-square-heart
+
+
+ +
chat-square-quote-fill
+
+
+ +
chat-square-quote
+
+
+ +
chat-square-text-fill
+
+
+ +
chat-square-text
+
+
+ +
chat-square
+
+
+ +
chat-text-fill
+
+
+ +
chat-text
+
+
+ +
chat
+
+
+ +
check-all
+
+
+ +
check-circle-fill
+
+
+ +
check-circle
+
+
+ +
check-lg
+
+
+ +
check-square-fill
+
+
+ +
check-square
+
+
+ +
check
+
+
+ +
check2-all
+
+
+ +
check2-circle
+
+
+ +
check2-square
+
+
+ +
check2
+
+
+ +
chevron-bar-contract
+
+
+ +
chevron-bar-down
+
+
+ +
chevron-bar-expand
+
+
+ +
chevron-bar-left
+
+
+ +
chevron-bar-right
+
+
+ +
chevron-bar-up
+
+
+ +
chevron-compact-down
+
+
+ +
chevron-compact-left
+
+
+ +
chevron-compact-right
+
+
+ +
chevron-compact-up
+
+
+ +
chevron-contract
+
+
+ +
chevron-double-down
+
+
+ +
chevron-double-left
+
+
+ +
chevron-double-right
+
+
+ +
chevron-double-up
+
+
+ +
chevron-down
+
+
+ +
chevron-expand
+
+
+ +
chevron-left
+
+
+ +
chevron-right
+
+
+ +
chevron-up
+
+
+ +
circle-fill
+
+
+ +
circle-half
+
+
+ +
circle-square
+
+
+ +
circle
+
+
+ +
clipboard-check-fill
+
+
+ +
clipboard-check
+
+
+ +
clipboard-data-fill
+
+
+ +
clipboard-data
+
+
+ +
clipboard-fill
+
+
+ +
clipboard-heart-fill
+
+
+ +
clipboard-heart
+
+
+ +
clipboard-minus-fill
+
+
+ +
clipboard-minus
+
+
+ +
clipboard-plus-fill
+
+
+ +
clipboard-plus
+
+
+ +
clipboard-pulse
+
+
+ +
clipboard-x-fill
+
+
+ +
clipboard-x
+
+
+ +
clipboard
+
+
+ +
clipboard2-check-fill
+
+
+ +
clipboard2-check
+
+
+ +
clipboard2-data-fill
+
+
+ +
clipboard2-data
+
+
+ +
clipboard2-fill
+
+
+ +
clipboard2-heart-fill
+
+
+ +
clipboard2-heart
+
+
+ +
clipboard2-minus-fill
+
+
+ +
clipboard2-minus
+
+
+ +
clipboard2-plus-fill
+
+
+ +
clipboard2-plus
+
+
+ +
clipboard2-pulse-fill
+
+
+ +
clipboard2-pulse
+
+
+ +
clipboard2-x-fill
+
+
+ +
clipboard2-x
+
+
+ +
clipboard2
+
+
+ +
clock-fill
+
+
+ +
clock-history
+
+
+ +
clock
+
+
+ +
cloud-arrow-down-fill
+
+
+ +
cloud-arrow-down
+
+
+ +
cloud-arrow-up-fill
+
+
+ +
cloud-arrow-up
+
+
+ +
cloud-check-fill
+
+
+ +
cloud-check
+
+
+ +
cloud-download-fill
+
+
+ +
cloud-download
+
+
+ +
cloud-drizzle-fill
+
+
+ +
cloud-drizzle
+
+
+ +
cloud-fill
+
+
+ +
cloud-fog-fill
+
+
+ +
cloud-fog
+
+
+ +
cloud-fog2-fill
+
+
+ +
cloud-fog2
+
+
+ +
cloud-hail-fill
+
+
+ +
cloud-hail
+
+
+ +
cloud-haze-fill
+
+
+ +
cloud-haze
+
+
+ +
cloud-haze2-fill
+
+
+ +
cloud-haze2
+
+
+ +
cloud-lightning-fill
+
+
+ +
cloud-lightning-rain-fill
+
+
+ +
cloud-lightning-rain
+
+
+ +
cloud-lightning
+
+
+ +
cloud-minus-fill
+
+
+ +
cloud-minus
+
+
+ +
cloud-moon-fill
+
+
+ +
cloud-moon
+
+
+ +
cloud-plus-fill
+
+
+ +
cloud-plus
+
+
+ +
cloud-rain-fill
+
+
+ +
cloud-rain-heavy-fill
+
+
+ +
cloud-rain-heavy
+
+
+ +
cloud-rain
+
+
+ +
cloud-slash-fill
+
+
+ +
cloud-slash
+
+
+ +
cloud-sleet-fill
+
+
+ +
cloud-sleet
+
+
+ +
cloud-snow-fill
+
+
+ +
cloud-snow
+
+
+ +
cloud-sun-fill
+
+
+ +
cloud-sun
+
+
+ +
cloud-upload-fill
+
+
+ +
cloud-upload
+
+
+ +
cloud
+
+
+ +
clouds-fill
+
+
+ +
clouds
+
+
+ +
cloudy-fill
+
+
+ +
cloudy
+
+
+ +
code-slash
+
+
+ +
code-square
+
+
+ +
code
+
+
+ +
coin
+
+
+ +
collection-fill
+
+
+ +
collection-play-fill
+
+
+ +
collection-play
+
+
+ +
collection
+
+
+ +
columns-gap
+
+
+ +
columns
+
+
+ +
command
+
+
+ +
compass-fill
+
+
+ +
compass
+
+
+ +
cone-striped
+
+
+ +
cone
+
+
+ +
controller
+
+
+ +
cpu-fill
+
+
+ +
cpu
+
+
+ +
credit-card-2-back-fill
+
+
+ +
credit-card-2-back
+
+
+ +
credit-card-2-front-fill
+
+
+ +
credit-card-2-front
+
+
+ +
credit-card-fill
+
+
+ +
credit-card
+
+
+ +
crop
+
+
+ +
cup-fill
+
+
+ +
cup-hot-fill
+
+
+ +
cup-hot
+
+
+ +
cup-straw
+
+
+ +
cup
+
+
+ +
currency-bitcoin
+
+
+ +
currency-dollar
+
+
+ +
currency-euro
+
+
+ +
currency-exchange
+
+
+ +
currency-pound
+
+
+ +
currency-rupee
+
+
+ +
currency-yen
+
+
+ +
cursor-fill
+
+
+ +
cursor-text
+
+
+ +
cursor
+
+
+ +
dash-circle-dotted
+
+
+ +
dash-circle-fill
+
+
+ +
dash-circle
+
+
+ +
dash-lg
+
+
+ +
dash-square-dotted
+
+
+ +
dash-square-fill
+
+
+ +
dash-square
+
+
+ +
dash
+
+
+ +
device-hdd-fill
+
+
+ +
device-hdd
+
+
+ +
device-ssd-fill
+
+
+ +
device-ssd
+
+
+ +
diagram-2-fill
+
+
+ +
diagram-2
+
+
+ +
diagram-3-fill
+
+
+ +
diagram-3
+
+
+ +
diamond-fill
+
+
+ +
diamond-half
+
+
+ +
diamond
+
+
+ +
dice-1-fill
+
+
+ +
dice-1
+
+
+ +
dice-2-fill
+
+
+ +
dice-2
+
+
+ +
dice-3-fill
+
+
+ +
dice-3
+
+
+ +
dice-4-fill
+
+
+ +
dice-4
+
+
+ +
dice-5-fill
+
+
+ +
dice-5
+
+
+ +
dice-6-fill
+
+
+ +
dice-6
+
+
+ +
disc-fill
+
+
+ +
disc
+
+
+ +
discord
+
+
+ +
display-fill
+
+
+ +
display
+
+
+ +
displayport-fill
+
+
+ +
displayport
+
+
+ +
distribute-horizontal
+
+
+ +
distribute-vertical
+
+
+ +
door-closed-fill
+
+
+ +
door-closed
+
+
+ +
door-open-fill
+
+
+ +
door-open
+
+
+ +
dot
+
+
+ +
download
+
+
+ +
dpad-fill
+
+
+ +
dpad
+
+
+ +
dribbble
+
+
+ +
dropbox
+
+
+ +
droplet-fill
+
+
+ +
droplet-half
+
+
+ +
droplet
+
+
+ +
ear-fill
+
+
+ +
ear
+
+
+ +
earbuds
+
+
+ +
easel-fill
+
+
+ +
easel
+
+
+ +
easel2-fill
+
+
+ +
easel2
+
+
+ +
easel3-fill
+
+
+ +
easel3
+
+
+ +
egg-fill
+
+
+ +
egg-fried
+
+
+ +
egg
+
+
+ +
eject-fill
+
+
+ +
eject
+
+
+ +
emoji-angry-fill
+
+
+ +
emoji-angry
+
+
+ +
emoji-dizzy-fill
+
+
+ +
emoji-dizzy
+
+
+ +
emoji-expressionless-fill
+
+
+ +
emoji-expressionless
+
+
+ +
emoji-frown-fill
+
+
+ +
emoji-frown
+
+
+ +
emoji-heart-eyes-fill
+
+
+ +
emoji-heart-eyes
+
+
+ +
emoji-kiss-fill
+
+
+ +
emoji-kiss
+
+
+ +
emoji-laughing-fill
+
+
+ +
emoji-laughing
+
+
+ +
emoji-neutral-fill
+
+
+ +
emoji-neutral
+
+
+ +
emoji-smile-fill
+
+
+ +
emoji-smile-upside-down-fill
+
+
+ +
emoji-smile-upside-down
+
+
+ +
emoji-smile
+
+
+ +
emoji-sunglasses-fill
+
+
+ +
emoji-sunglasses
+
+
+ +
emoji-wink-fill
+
+
+ +
emoji-wink
+
+
+ +
envelope-check-fill
+
+
+ +
envelope-check
+
+
+ +
envelope-dash-fill
+
+
+ +
envelope-dash
+
+
+ +
envelope-exclamation-fill
+
+
+ +
envelope-exclamation
+
+
+ +
envelope-fill
+
+
+ +
envelope-heart-fill
+
+
+ +
envelope-heart
+
+
+ +
envelope-open-fill
+
+
+ +
envelope-open-heart-fill
+
+
+ +
envelope-open-heart
+
+
+ +
envelope-open
+
+
+ +
envelope-paper-fill
+
+
+ +
envelope-paper-heart-fill
+
+
+ +
envelope-paper-heart
+
+
+ +
envelope-paper
+
+
+ +
envelope-plus-fill
+
+
+ +
envelope-plus
+
+
+ +
envelope-slash-fill
+
+
+ +
envelope-slash
+
+
+ +
envelope-x-fill
+
+
+ +
envelope-x
+
+
+ +
envelope
+
+
+ +
eraser-fill
+
+
+ +
eraser
+
+
+ +
escape
+
+
+ +
ethernet
+
+
+ +
ev-station-fill
+
+
+ +
ev-station
+
+
+ +
exclamation-circle-fill
+
+
+ +
exclamation-circle
+
+
+ +
exclamation-diamond-fill
+
+
+ +
exclamation-diamond
+
+
+ +
exclamation-lg
+
+
+ +
exclamation-octagon-fill
+
+
+ +
exclamation-octagon
+
+
+ +
exclamation-square-fill
+
+
+ +
exclamation-square
+
+
+ +
exclamation-triangle-fill
+
+
+ +
exclamation-triangle
+
+
+ +
exclamation
+
+
+ +
exclude
+
+
+ +
explicit-fill
+
+
+ +
explicit
+
+
+ +
eye-fill
+
+
+ +
eye-slash-fill
+
+
+ +
eye-slash
+
+
+ +
eye
+
+
+ +
eyedropper
+
+
+ +
eyeglasses
+
+
+ +
facebook
+
+
+ +
fan
+
+
+ +
fast-forward-btn-fill
+
+
+ +
fast-forward-btn
+
+
+ +
fast-forward-circle-fill
+
+
+ +
fast-forward-circle
+
+
+ +
fast-forward-fill
+
+
+ +
fast-forward
+
+
+ +
file-arrow-down-fill
+
+
+ +
file-arrow-down
+
+
+ +
file-arrow-up-fill
+
+
+ +
file-arrow-up
+
+
+ +
file-bar-graph-fill
+
+
+ +
file-bar-graph
+
+
+ +
file-binary-fill
+
+
+ +
file-binary
+
+
+ +
file-break-fill
+
+
+ +
file-break
+
+
+ +
file-check-fill
+
+
+ +
file-check
+
+
+ +
file-code-fill
+
+
+ +
file-code
+
+
+ +
file-diff-fill
+
+
+ +
file-diff
+
+
+ +
file-earmark-arrow-down-fill
+
+
+ +
file-earmark-arrow-down
+
+
+ +
file-earmark-arrow-up-fill
+
+
+ +
file-earmark-arrow-up
+
+
+ +
file-earmark-bar-graph-fill
+
+
+ +
file-earmark-bar-graph
+
+
+ +
file-earmark-binary-fill
+
+
+ +
file-earmark-binary
+
+
+ +
file-earmark-break-fill
+
+
+ +
file-earmark-break
+
+
+ +
file-earmark-check-fill
+
+
+ +
file-earmark-check
+
+
+ +
file-earmark-code-fill
+
+
+ +
file-earmark-code
+
+
+ +
file-earmark-diff-fill
+
+
+ +
file-earmark-diff
+
+
+ +
file-earmark-easel-fill
+
+
+ +
file-earmark-easel
+
+
+ +
file-earmark-excel-fill
+
+
+ +
file-earmark-excel
+
+
+ +
file-earmark-fill
+
+
+ +
file-earmark-font-fill
+
+
+ +
file-earmark-font
+
+
+ +
file-earmark-image-fill
+
+
+ +
file-earmark-image
+
+
+ +
file-earmark-lock-fill
+
+
+ +
file-earmark-lock
+
+
+ +
file-earmark-lock2-fill
+
+
+ +
file-earmark-lock2
+
+
+ +
file-earmark-medical-fill
+
+
+ +
file-earmark-medical
+
+
+ +
file-earmark-minus-fill
+
+
+ +
file-earmark-minus
+
+
+ +
file-earmark-music-fill
+
+
+ +
file-earmark-music
+
+
+ +
file-earmark-pdf-fill
+
+
+ +
file-earmark-pdf
+
+
+ +
file-earmark-person-fill
+
+
+ +
file-earmark-person
+
+
+ +
file-earmark-play-fill
+
+
+ +
file-earmark-play
+
+
+ +
file-earmark-plus-fill
+
+
+ +
file-earmark-plus
+
+
+ +
file-earmark-post-fill
+
+
+ +
file-earmark-post
+
+
+ +
file-earmark-ppt-fill
+
+
+ +
file-earmark-ppt
+
+
+ +
file-earmark-richtext-fill
+
+
+ +
file-earmark-richtext
+
+
+ +
file-earmark-ruled-fill
+
+
+ +
file-earmark-ruled
+
+
+ +
file-earmark-slides-fill
+
+
+ +
file-earmark-slides
+
+
+ +
file-earmark-spreadsheet-fill
+
+
+ +
file-earmark-spreadsheet
+
+
+ +
file-earmark-text-fill
+
+
+ +
file-earmark-text
+
+
+ +
file-earmark-word-fill
+
+
+ +
file-earmark-word
+
+
+ +
file-earmark-x-fill
+
+
+ +
file-earmark-x
+
+
+ +
file-earmark-zip-fill
+
+
+ +
file-earmark-zip
+
+
+ +
file-earmark
+
+
+ +
file-easel-fill
+
+
+ +
file-easel
+
+
+ +
file-excel-fill
+
+
+ +
file-excel
+
+
+ +
file-fill
+
+
+ +
file-font-fill
+
+
+ +
file-font
+
+
+ +
file-image-fill
+
+
+ +
file-image
+
+
+ +
file-lock-fill
+
+
+ +
file-lock
+
+
+ +
file-lock2-fill
+
+
+ +
file-lock2
+
+
+ +
file-medical-fill
+
+
+ +
file-medical
+
+
+ +
file-minus-fill
+
+
+ +
file-minus
+
+
+ +
file-music-fill
+
+
+ +
file-music
+
+
+ +
file-pdf-fill
+
+
+ +
file-pdf
+
+
+ +
file-person-fill
+
+
+ +
file-person
+
+
+ +
file-play-fill
+
+
+ +
file-play
+
+
+ +
file-plus-fill
+
+
+ +
file-plus
+
+
+ +
file-post-fill
+
+
+ +
file-post
+
+
+ +
file-ppt-fill
+
+
+ +
file-ppt
+
+
+ +
file-richtext-fill
+
+
+ +
file-richtext
+
+
+ +
file-ruled-fill
+
+
+ +
file-ruled
+
+
+ +
file-slides-fill
+
+
+ +
file-slides
+
+
+ +
file-spreadsheet-fill
+
+
+ +
file-spreadsheet
+
+
+ +
file-text-fill
+
+
+ +
file-text
+
+
+ +
file-word-fill
+
+
+ +
file-word
+
+
+ +
file-x-fill
+
+
+ +
file-x
+
+
+ +
file-zip-fill
+
+
+ +
file-zip
+
+
+ +
file
+
+
+ +
files-alt
+
+
+ +
files
+
+
+ +
filetype-aac
+
+
+ +
filetype-ai
+
+
+ +
filetype-bmp
+
+
+ +
filetype-cs
+
+
+ +
filetype-css
+
+
+ +
filetype-csv
+
+
+ +
filetype-doc
+
+
+ +
filetype-docx
+
+
+ +
filetype-exe
+
+
+ +
filetype-gif
+
+
+ +
filetype-heic
+
+
+ +
filetype-html
+
+
+ +
filetype-java
+
+
+ +
filetype-jpg
+
+
+ +
filetype-js
+
+
+ +
filetype-json
+
+
+ +
filetype-jsx
+
+
+ +
filetype-key
+
+
+ +
filetype-m4p
+
+
+ +
filetype-md
+
+
+ +
filetype-mdx
+
+
+ +
filetype-mov
+
+
+ +
filetype-mp3
+
+
+ +
filetype-mp4
+
+
+ +
filetype-otf
+
+
+ +
filetype-pdf
+
+
+ +
filetype-php
+
+
+ +
filetype-png
+
+
+ +
filetype-ppt
+
+
+ +
filetype-pptx
+
+
+ +
filetype-psd
+
+
+ +
filetype-py
+
+
+ +
filetype-raw
+
+
+ +
filetype-rb
+
+
+ +
filetype-sass
+
+
+ +
filetype-scss
+
+
+ +
filetype-sh
+
+
+ +
filetype-sql
+
+
+ +
filetype-svg
+
+
+ +
filetype-tiff
+
+
+ +
filetype-tsx
+
+
+ +
filetype-ttf
+
+
+ +
filetype-txt
+
+
+ +
filetype-wav
+
+
+ +
filetype-woff
+
+
+ +
filetype-xls
+
+
+ +
filetype-xlsx
+
+
+ +
filetype-xml
+
+
+ +
filetype-yml
+
+
+ +
film
+
+
+ +
filter-circle-fill
+
+
+ +
filter-circle
+
+
+ +
filter-left
+
+
+ +
filter-right
+
+
+ +
filter-square-fill
+
+
+ +
filter-square
+
+
+ +
filter
+
+
+ +
fingerprint
+
+
+ +
fire
+
+
+ +
flag-fill
+
+
+ +
flag
+
+
+ +
flower1
+
+
+ +
flower2
+
+
+ +
flower3
+
+
+ +
folder-check
+
+
+ +
folder-fill
+
+
+ +
folder-minus
+
+
+ +
folder-plus
+
+
+ +
folder-symlink-fill
+
+
+ +
folder-symlink
+
+
+ +
folder-x
+
+
+ +
folder
+
+
+ +
folder2-open
+
+
+ +
folder2
+
+
+ +
fonts
+
+
+ +
forward-fill
+
+
+ +
forward
+
+
+ +
front
+
+
+ +
fuel-pump-diesel-fill
+
+
+ +
fuel-pump-diesel
+
+
+ +
fuel-pump-fill
+
+
+ +
fuel-pump
+
+
+ +
fullscreen-exit
+
+
+ +
fullscreen
+
+
+ +
funnel-fill
+
+
+ +
funnel
+
+
+ +
gear-fill
+
+
+ +
gear-wide-connected
+
+
+ +
gear-wide
+
+
+ +
gear
+
+
+ +
gem
+
+
+ +
gender-ambiguous
+
+
+ +
gender-female
+
+
+ +
gender-male
+
+
+ +
gender-trans
+
+
+ +
geo-alt-fill
+
+
+ +
geo-alt
+
+
+ +
geo-fill
+
+
+ +
geo
+
+
+ +
gift-fill
+
+
+ +
gift
+
+
+ +
git
+
+
+ +
github
+
+
+ +
globe
+
+
+ +
globe2
+
+
+ +
google-play
+
+
+ +
google
+
+
+ +
gpu-card
+
+
+ +
graph-down-arrow
+
+
+ +
graph-down
+
+
+ +
graph-up-arrow
+
+
+ +
graph-up
+
+
+ +
grid-1x2-fill
+
+
+ +
grid-1x2
+
+
+ +
grid-3x2-gap-fill
+
+
+ +
grid-3x2-gap
+
+
+ +
grid-3x2
+
+
+ +
grid-3x3-gap-fill
+
+
+ +
grid-3x3-gap
+
+
+ +
grid-3x3
+
+
+ +
grid-fill
+
+
+ +
grid
+
+
+ +
grip-horizontal
+
+
+ +
grip-vertical
+
+
+ +
h-circle-fill
+
+
+ +
h-circle
+
+
+ +
h-square-fill
+
+
+ +
h-square
+
+
+ +
hammer
+
+
+ +
hand-index-fill
+
+
+ +
hand-index-thumb-fill
+
+
+ +
hand-index-thumb
+
+
+ +
hand-index
+
+
+ +
hand-thumbs-down-fill
+
+
+ +
hand-thumbs-down
+
+
+ +
hand-thumbs-up-fill
+
+
+ +
hand-thumbs-up
+
+
+ +
handbag-fill
+
+
+ +
handbag
+
+
+ +
hash
+
+
+ +
hdd-fill
+
+
+ +
hdd-network-fill
+
+
+ +
hdd-network
+
+
+ +
hdd-rack-fill
+
+
+ +
hdd-rack
+
+
+ +
hdd-stack-fill
+
+
+ +
hdd-stack
+
+
+ +
hdd
+
+
+ +
hdmi-fill
+
+
+ +
hdmi
+
+
+ +
headphones
+
+
+ +
headset-vr
+
+
+ +
headset
+
+
+ +
heart-arrow
+
+
+ +
heart-fill
+
+
+ +
heart-half
+
+
+ +
heart-pulse-fill
+
+
+ +
heart-pulse
+
+
+ +
heart
+
+
+ +
heartbreak-fill
+
+
+ +
heartbreak
+
+
+ +
hearts
+
+
+ +
heptagon-fill
+
+
+ +
heptagon-half
+
+
+ +
heptagon
+
+
+ +
hexagon-fill
+
+
+ +
hexagon-half
+
+
+ +
hexagon
+
+
+ +
hospital-fill
+
+
+ +
hospital
+
+
+ +
hourglass-bottom
+
+
+ +
hourglass-split
+
+
+ +
hourglass-top
+
+
+ +
hourglass
+
+
+ +
house-door-fill
+
+
+ +
house-door
+
+
+ +
house-fill
+
+
+ +
house-heart-fill
+
+
+ +
house-heart
+
+
+ +
house
+
+
+ +
hr
+
+
+ +
hurricane
+
+
+ +
hypnotize
+
+
+ +
image-alt
+
+
+ +
image-fill
+
+
+ +
image
+
+
+ +
images
+
+
+ +
inbox-fill
+
+
+ +
inbox
+
+
+ +
inboxes-fill
+
+
+ +
inboxes
+
+
+ +
incognito
+
+
+ +
indent
+
+
+ +
infinity
+
+
+ +
info-circle-fill
+
+
+ +
info-circle
+
+
+ +
info-lg
+
+
+ +
info-square-fill
+
+
+ +
info-square
+
+
+ +
info
+
+
+ +
input-cursor-text
+
+
+ +
input-cursor
+
+
+ +
instagram
+
+
+ +
intersect
+
+
+ +
journal-album
+
+
+ +
journal-arrow-down
+
+
+ +
journal-arrow-up
+
+
+ +
journal-bookmark-fill
+
+
+ +
journal-bookmark
+
+
+ +
journal-check
+
+
+ +
journal-code
+
+
+ +
journal-medical
+
+
+ +
journal-minus
+
+
+ +
journal-plus
+
+
+ +
journal-richtext
+
+
+ +
journal-text
+
+
+ +
journal-x
+
+
+ +
journal
+
+
+ +
journals
+
+
+ +
joystick
+
+
+ +
justify-left
+
+
+ +
justify-right
+
+
+ +
justify
+
+
+ +
kanban-fill
+
+
+ +
kanban
+
+
+ +
key-fill
+
+
+ +
key
+
+
+ +
keyboard-fill
+
+
+ +
keyboard
+
+
+ +
ladder
+
+
+ +
lamp-fill
+
+
+ +
lamp
+
+
+ +
laptop-fill
+
+
+ +
laptop
+
+
+ +
layer-backward
+
+
+ +
layer-forward
+
+
+ +
layers-fill
+
+
+ +
layers-half
+
+
+ +
layers
+
+
+ +
layout-sidebar-inset-reverse
+
+
+ +
layout-sidebar-inset
+
+
+ +
layout-sidebar-reverse
+
+
+ +
layout-sidebar
+
+
+ +
layout-split
+
+
+ +
layout-text-sidebar-reverse
+
+
+ +
layout-text-sidebar
+
+
+ +
layout-text-window-reverse
+
+
+ +
layout-text-window
+
+
+ +
layout-three-columns
+
+
+ +
layout-wtf
+
+
+ +
life-preserver
+
+
+ +
lightbulb-fill
+
+
+ +
lightbulb-off-fill
+
+
+ +
lightbulb-off
+
+
+ +
lightbulb
+
+
+ +
lightning-charge-fill
+
+
+ +
lightning-charge
+
+
+ +
lightning-fill
+
+
+ +
lightning
+
+
+ +
line
+
+
+ +
link-45deg
+
+
+ +
link
+
+
+ +
linkedin
+
+
+ +
list-check
+
+
+ +
list-columns-reverse
+
+
+ +
list-columns
+
+
+ +
list-nested
+
+
+ +
list-ol
+
+
+ +
list-stars
+
+
+ +
list-task
+
+
+ +
list-ul
+
+
+ +
list
+
+
+ +
lock-fill
+
+
+ +
lock
+
+
+ +
lungs-fill
+
+
+ +
lungs
+
+
+ +
magic
+
+
+ +
magnet-fill
+
+
+ +
magnet
+
+
+ +
mailbox
+
+
+ +
mailbox2
+
+
+ +
map-fill
+
+
+ +
map
+
+
+ +
markdown-fill
+
+
+ +
markdown
+
+
+ +
mask
+
+
+ +
mastodon
+
+
+ +
medium
+
+
+ +
megaphone-fill
+
+
+ +
megaphone
+
+
+ +
memory
+
+
+ +
menu-app-fill
+
+
+ +
menu-app
+
+
+ +
menu-button-fill
+
+
+ +
menu-button-wide-fill
+
+
+ +
menu-button-wide
+
+
+ +
menu-button
+
+
+ +
menu-down
+
+
+ +
menu-up
+
+
+ +
messenger
+
+
+ +
meta
+
+
+ +
mic-fill
+
+
+ +
mic-mute-fill
+
+
+ +
mic-mute
+
+
+ +
mic
+
+
+ +
microsoft-teams
+
+
+ +
microsoft
+
+
+ +
minecart-loaded
+
+
+ +
minecart
+
+
+ +
modem-fill
+
+
+ +
modem
+
+
+ +
moisture
+
+
+ +
moon-fill
+
+
+ +
moon-stars-fill
+
+
+ +
moon-stars
+
+
+ +
moon
+
+
+ +
mortarboard-fill
+
+
+ +
mortarboard
+
+
+ +
motherboard-fill
+
+
+ +
motherboard
+
+
+ +
mouse-fill
+
+
+ +
mouse
+
+
+ +
mouse2-fill
+
+
+ +
mouse2
+
+
+ +
mouse3-fill
+
+
+ +
mouse3
+
+
+ +
music-note-beamed
+
+
+ +
music-note-list
+
+
+ +
music-note
+
+
+ +
music-player-fill
+
+
+ +
music-player
+
+
+ +
newspaper
+
+
+ +
nintendo-switch
+
+
+ +
node-minus-fill
+
+
+ +
node-minus
+
+
+ +
node-plus-fill
+
+
+ +
node-plus
+
+
+ +
nut-fill
+
+
+ +
nut
+
+
+ +
octagon-fill
+
+
+ +
octagon-half
+
+
+ +
octagon
+
+
+ +
optical-audio-fill
+
+
+ +
optical-audio
+
+
+ +
option
+
+
+ +
outlet
+
+
+ +
p-circle-fill
+
+
+ +
p-circle
+
+
+ +
p-square-fill
+
+
+ +
p-square
+
+
+ +
paint-bucket
+
+
+ +
palette-fill
+
+
+ +
palette
+
+
+ +
palette2
+
+
+ +
paperclip
+
+
+ +
paragraph
+
+
+ +
pass-fill
+
+
+ +
pass
+
+
+ +
patch-check-fill
+
+
+ +
patch-check
+
+
+ +
patch-exclamation-fill
+
+
+ +
patch-exclamation
+
+
+ +
patch-minus-fill
+
+
+ +
patch-minus
+
+
+ +
patch-plus-fill
+
+
+ +
patch-plus
+
+
+ +
patch-question-fill
+
+
+ +
patch-question
+
+
+ +
pause-btn-fill
+
+
+ +
pause-btn
+
+
+ +
pause-circle-fill
+
+
+ +
pause-circle
+
+
+ +
pause-fill
+
+
+ +
pause
+
+
+ +
paypal
+
+
+ +
pc-display-horizontal
+
+
+ +
pc-display
+
+
+ +
pc-horizontal
+
+
+ +
pc
+
+
+ +
pci-card
+
+
+ +
peace-fill
+
+
+ +
peace
+
+
+ +
pen-fill
+
+
+ +
pen
+
+
+ +
pencil-fill
+
+
+ +
pencil-square
+
+
+ +
pencil
+
+
+ +
pentagon-fill
+
+
+ +
pentagon-half
+
+
+ +
pentagon
+
+
+ +
people-fill
+
+
+ +
people
+
+
+ +
percent
+
+
+ +
person-badge-fill
+
+
+ +
person-badge
+
+
+ +
person-bounding-box
+
+
+ +
person-check-fill
+
+
+ +
person-check
+
+
+ +
person-circle
+
+
+ +
person-dash-fill
+
+
+ +
person-dash
+
+
+ +
person-fill
+
+
+ +
person-heart
+
+
+ +
person-hearts
+
+
+ +
person-lines-fill
+
+
+ +
person-plus-fill
+
+
+ +
person-plus
+
+
+ +
person-rolodex
+
+
+ +
person-square
+
+
+ +
person-video
+
+
+ +
person-video2
+
+
+ +
person-video3
+
+
+ +
person-workspace
+
+
+ +
person-x-fill
+
+
+ +
person-x
+
+
+ +
person
+
+
+ +
phone-fill
+
+
+ +
phone-flip
+
+
+ +
phone-landscape-fill
+
+
+ +
phone-landscape
+
+
+ +
phone-vibrate-fill
+
+
+ +
phone-vibrate
+
+
+ +
phone
+
+
+ +
pie-chart-fill
+
+
+ +
pie-chart
+
+
+ +
piggy-bank-fill
+
+
+ +
piggy-bank
+
+
+ +
pin-angle-fill
+
+
+ +
pin-angle
+
+
+ +
pin-fill
+
+
+ +
pin-map-fill
+
+
+ +
pin-map
+
+
+ +
pin
+
+
+ +
pinterest
+
+
+ +
pip-fill
+
+
+ +
pip
+
+
+ +
play-btn-fill
+
+
+ +
play-btn
+
+
+ +
play-circle-fill
+
+
+ +
play-circle
+
+
+ +
play-fill
+
+
+ +
play
+
+
+ +
playstation
+
+
+ +
plug-fill
+
+
+ +
plug
+
+
+ +
plugin
+
+
+ +
plus-circle-dotted
+
+
+ +
plus-circle-fill
+
+
+ +
plus-circle
+
+
+ +
plus-lg
+
+
+ +
plus-slash-minus
+
+
+ +
plus-square-dotted
+
+
+ +
plus-square-fill
+
+
+ +
plus-square
+
+
+ +
plus
+
+
+ +
postage-fill
+
+
+ +
postage-heart-fill
+
+
+ +
postage-heart
+
+
+ +
postage
+
+
+ +
postcard-fill
+
+
+ +
postcard-heart-fill
+
+
+ +
postcard-heart
+
+
+ +
postcard
+
+
+ +
power
+
+
+ +
prescription
+
+
+ +
prescription2
+
+
+ +
printer-fill
+
+
+ +
printer
+
+
+ +
projector-fill
+
+
+ +
projector
+
+
+ +
puzzle-fill
+
+
+ +
puzzle
+
+
+ +
qr-code-scan
+
+
+ +
qr-code
+
+
+ +
question-circle-fill
+
+
+ +
question-circle
+
+
+ +
question-diamond-fill
+
+
+ +
question-diamond
+
+
+ +
question-lg
+
+
+ +
question-octagon-fill
+
+
+ +
question-octagon
+
+
+ +
question-square-fill
+
+
+ +
question-square
+
+
+ +
question
+
+
+ +
quora
+
+
+ +
quote
+
+
+ +
r-circle-fill
+
+
+ +
r-circle
+
+
+ +
r-square-fill
+
+
+ +
r-square
+
+
+ +
radioactive
+
+
+ +
rainbow
+
+
+ +
receipt-cutoff
+
+
+ +
receipt
+
+
+ +
reception-0
+
+
+ +
reception-1
+
+
+ +
reception-2
+
+
+ +
reception-3
+
+
+ +
reception-4
+
+
+ +
record-btn-fill
+
+
+ +
record-btn
+
+
+ +
record-circle-fill
+
+
+ +
record-circle
+
+
+ +
record-fill
+
+
+ +
record
+
+
+ +
record2-fill
+
+
+ +
record2
+
+
+ +
recycle
+
+
+ +
reddit
+
+
+ +
repeat-1
+
+
+ +
repeat
+
+
+ +
reply-all-fill
+
+
+ +
reply-all
+
+
+ +
reply-fill
+
+
+ +
reply
+
+
+ +
rewind-btn-fill
+
+
+ +
rewind-btn
+
+
+ +
rewind-circle-fill
+
+
+ +
rewind-circle
+
+
+ +
rewind-fill
+
+
+ +
rewind
+
+
+ +
robot
+
+
+ +
router-fill
+
+
+ +
router
+
+
+ +
rss-fill
+
+
+ +
rss
+
+
+ +
rulers
+
+
+ +
safe-fill
+
+
+ +
safe
+
+
+ +
safe2-fill
+
+
+ +
safe2
+
+
+ +
save-fill
+
+
+ +
save
+
+
+ +
save2-fill
+
+
+ +
save2
+
+
+ +
scissors
+
+
+ +
screwdriver
+
+
+ +
sd-card-fill
+
+
+ +
sd-card
+
+
+ +
search-heart-fill
+
+
+ +
search-heart
+
+
+ +
search
+
+
+ +
segmented-nav
+
+
+ +
send-check-fill
+
+
+ +
send-check
+
+
+ +
send-dash-fill
+
+
+ +
send-dash
+
+
+ +
send-exclamation-fill
+
+
+ +
send-exclamation
+
+
+ +
send-fill
+
+
+ +
send-plus-fill
+
+
+ +
send-plus
+
+
+ +
send-slash-fill
+
+
+ +
send-slash
+
+
+ +
send-x-fill
+
+
+ +
send-x
+
+
+ +
send
+
+
+ +
server
+
+
+ +
share-fill
+
+
+ +
share
+
+
+ +
shield-check
+
+
+ +
shield-exclamation
+
+
+ +
shield-fill-check
+
+
+ +
shield-fill-exclamation
+
+
+ +
shield-fill-minus
+
+
+ +
shield-fill-plus
+
+
+ +
shield-fill-x
+
+
+ +
shield-fill
+
+
+ +
shield-lock-fill
+
+
+ +
shield-lock
+
+
+ +
shield-minus
+
+
+ +
shield-plus
+
+
+ +
shield-shaded
+
+
+ +
shield-slash-fill
+
+
+ +
shield-slash
+
+
+ +
shield-x
+
+
+ +
shield
+
+
+ +
shift-fill
+
+
+ +
shift
+
+
+ +
shop-window
+
+
+ +
shop
+
+
+ +
shuffle
+
+
+ +
sign-stop-fill
+
+
+ +
sign-stop-lights-fill
+
+
+ +
sign-stop-lights
+
+
+ +
sign-stop
+
+
+ +
sign-turn-left-fill
+
+
+ +
sign-turn-left
+
+
+ +
sign-turn-right-fill
+
+
+ +
sign-turn-right
+
+
+ +
sign-turn-slight-left-fill
+
+
+ +
sign-turn-slight-left
+
+
+ +
sign-turn-slight-right-fill
+
+
+ +
sign-turn-slight-right
+
+
+ +
sign-yield-fill
+
+
+ +
sign-yield
+
+
+ +
signal
+
+
+ +
signpost-2-fill
+
+
+ +
signpost-2
+
+
+ +
signpost-fill
+
+
+ +
signpost-split-fill
+
+
+ +
signpost-split
+
+
+ +
signpost
+
+
+ +
sim-fill
+
+
+ +
sim
+
+
+ +
skip-backward-btn-fill
+
+
+ +
skip-backward-btn
+
+
+ +
skip-backward-circle-fill
+
+
+ +
skip-backward-circle
+
+
+ +
skip-backward-fill
+
+
+ +
skip-backward
+
+
+ +
skip-end-btn-fill
+
+
+ +
skip-end-btn
+
+
+ +
skip-end-circle-fill
+
+
+ +
skip-end-circle
+
+
+ +
skip-end-fill
+
+
+ +
skip-end
+
+
+ +
skip-forward-btn-fill
+
+
+ +
skip-forward-btn
+
+
+ +
skip-forward-circle-fill
+
+
+ +
skip-forward-circle
+
+
+ +
skip-forward-fill
+
+
+ +
skip-forward
+
+
+ +
skip-start-btn-fill
+
+
+ +
skip-start-btn
+
+
+ +
skip-start-circle-fill
+
+
+ +
skip-start-circle
+
+
+ +
skip-start-fill
+
+
+ +
skip-start
+
+
+ +
skype
+
+
+ +
slack
+
+
+ +
slash-circle-fill
+
+
+ +
slash-circle
+
+
+ +
slash-lg
+
+
+ +
slash-square-fill
+
+
+ +
slash-square
+
+
+ +
slash
+
+
+ +
sliders
+
+
+ +
sliders2-vertical
+
+
+ +
sliders2
+
+
+ +
smartwatch
+
+
+ +
snapchat
+
+
+ +
snow
+
+
+ +
snow2
+
+
+ +
snow3
+
+
+ +
sort-alpha-down-alt
+
+
+ +
sort-alpha-down
+
+
+ +
sort-alpha-up-alt
+
+
+ +
sort-alpha-up
+
+
+ +
sort-down-alt
+
+
+ +
sort-down
+
+
+ +
sort-numeric-down-alt
+
+
+ +
sort-numeric-down
+
+
+ +
sort-numeric-up-alt
+
+
+ +
sort-numeric-up
+
+
+ +
sort-up-alt
+
+
+ +
sort-up
+
+
+ +
soundwave
+
+
+ +
speaker-fill
+
+
+ +
speaker
+
+
+ +
speedometer
+
+
+ +
speedometer2
+
+
+ +
spellcheck
+
+
+ +
spotify
+
+
+ +
square-fill
+
+
+ +
square-half
+
+
+ +
square
+
+
+ +
stack-overflow
+
+
+ +
stack
+
+
+ +
star-fill
+
+
+ +
star-half
+
+
+ +
star
+
+
+ +
stars
+
+
+ +
steam
+
+
+ +
stickies-fill
+
+
+ +
stickies
+
+
+ +
sticky-fill
+
+
+ +
sticky
+
+
+ +
stop-btn-fill
+
+
+ +
stop-btn
+
+
+ +
stop-circle-fill
+
+
+ +
stop-circle
+
+
+ +
stop-fill
+
+
+ +
stop
+
+
+ +
stoplights-fill
+
+
+ +
stoplights
+
+
+ +
stopwatch-fill
+
+
+ +
stopwatch
+
+
+ +
strava
+
+
+ +
subtract
+
+
+ +
suit-club-fill
+
+
+ +
suit-club
+
+
+ +
suit-diamond-fill
+
+
+ +
suit-diamond
+
+
+ +
suit-heart-fill
+
+
+ +
suit-heart
+
+
+ +
suit-spade-fill
+
+
+ +
suit-spade
+
+
+ +
sun-fill
+
+
+ +
sun
+
+
+ +
sunglasses
+
+
+ +
sunrise-fill
+
+
+ +
sunrise
+
+
+ +
sunset-fill
+
+
+ +
sunset
+
+
+ +
symmetry-horizontal
+
+
+ +
symmetry-vertical
+
+
+ +
table
+
+
+ +
tablet-fill
+
+
+ +
tablet-landscape-fill
+
+
+ +
tablet-landscape
+
+
+ +
tablet
+
+
+ +
tag-fill
+
+
+ +
tag
+
+
+ +
tags-fill
+
+
+ +
tags
+
+
+ +
telegram
+
+
+ +
telephone-fill
+
+
+ +
telephone-forward-fill
+
+
+ +
telephone-forward
+
+
+ +
telephone-inbound-fill
+
+
+ +
telephone-inbound
+
+
+ +
telephone-minus-fill
+
+
+ +
telephone-minus
+
+
+ +
telephone-outbound-fill
+
+
+ +
telephone-outbound
+
+
+ +
telephone-plus-fill
+
+
+ +
telephone-plus
+
+
+ +
telephone-x-fill
+
+
+ +
telephone-x
+
+
+ +
telephone
+
+
+ +
terminal-dash
+
+
+ +
terminal-fill
+
+
+ +
terminal-plus
+
+
+ +
terminal-split
+
+
+ +
terminal-x
+
+
+ +
terminal
+
+
+ +
text-center
+
+
+ +
text-indent-left
+
+
+ +
text-indent-right
+
+
+ +
text-left
+
+
+ +
text-paragraph
+
+
+ +
text-right
+
+
+ +
textarea-resize
+
+
+ +
textarea-t
+
+
+ +
textarea
+
+
+ +
thermometer-half
+
+
+ +
thermometer-high
+
+
+ +
thermometer-low
+
+
+ +
thermometer-snow
+
+
+ +
thermometer-sun
+
+
+ +
thermometer
+
+
+ +
three-dots-vertical
+
+
+ +
three-dots
+
+
+ +
thunderbolt-fill
+
+
+ +
thunderbolt
+
+
+ +
ticket-detailed-fill
+
+
+ +
ticket-detailed
+
+
+ +
ticket-fill
+
+
+ +
ticket-perforated-fill
+
+
+ +
ticket-perforated
+
+
+ +
ticket
+
+
+ +
tiktok
+
+
+ +
toggle-off
+
+
+ +
toggle-on
+
+
+ +
toggle2-off
+
+
+ +
toggle2-on
+
+
+ +
toggles
+
+
+ +
toggles2
+
+
+ +
tools
+
+
+ +
tornado
+
+
+ +
train-freight-front-fill
+
+
+ +
train-freight-front
+
+
+ +
train-front-fill
+
+
+ +
train-front
+
+
+ +
train-lightrail-front-fill
+
+
+ +
train-lightrail-front
+
+
+ +
translate
+
+
+ +
trash-fill
+
+
+ +
trash
+
+
+ +
trash2-fill
+
+
+ +
trash2
+
+
+ +
trash3-fill
+
+
+ +
trash3
+
+
+ +
tree-fill
+
+
+ +
tree
+
+
+ +
triangle-fill
+
+
+ +
triangle-half
+
+
+ +
triangle
+
+
+ +
trophy-fill
+
+
+ +
trophy
+
+
+ +
tropical-storm
+
+
+ +
truck-flatbed
+
+
+ +
truck-front-fill
+
+
+ +
truck-front
+
+
+ +
truck
+
+
+ +
tsunami
+
+
+ +
tv-fill
+
+
+ +
tv
+
+
+ +
twitch
+
+
+ +
twitter
+
+
+ +
type-bold
+
+
+ +
type-h1
+
+
+ +
type-h2
+
+
+ +
type-h3
+
+
+ +
type-italic
+
+
+ +
type-strikethrough
+
+
+ +
type-underline
+
+
+ +
type
+
+
+ +
ubuntu
+
+
+ +
ui-checks-grid
+
+
+ +
ui-checks
+
+
+ +
ui-radios-grid
+
+
+ +
ui-radios
+
+
+ +
umbrella-fill
+
+
+ +
umbrella
+
+
+ +
unindent
+
+
+ +
union
+
+
+ +
unity
+
+
+ +
universal-access-circle
+
+
+ +
universal-access
+
+
+ +
unlock-fill
+
+
+ +
unlock
+
+
+ +
upc-scan
+
+
+ +
upc
+
+
+ +
upload
+
+
+ +
usb-c-fill
+
+
+ +
usb-c
+
+
+ +
usb-drive-fill
+
+
+ +
usb-drive
+
+
+ +
usb-fill
+
+
+ +
usb-micro-fill
+
+
+ +
usb-micro
+
+
+ +
usb-mini-fill
+
+
+ +
usb-mini
+
+
+ +
usb-plug-fill
+
+
+ +
usb-plug
+
+
+ +
usb-symbol
+
+
+ +
usb
+
+
+ +
valentine
+
+
+ +
valentine2
+
+
+ +
vector-pen
+
+
+ +
view-list
+
+
+ +
view-stacked
+
+
+ +
vimeo
+
+
+ +
vinyl-fill
+
+
+ +
vinyl
+
+
+ +
virus
+
+
+ +
virus2
+
+
+ +
voicemail
+
+
+ +
volume-down-fill
+
+
+ +
volume-down
+
+
+ +
volume-mute-fill
+
+
+ +
volume-mute
+
+
+ +
volume-off-fill
+
+
+ +
volume-off
+
+
+ +
volume-up-fill
+
+
+ +
volume-up
+
+
+ +
vr
+
+
+ +
wallet-fill
+
+
+ +
wallet
+
+
+ +
wallet2
+
+
+ +
watch
+
+
+ +
water
+
+
+ +
webcam-fill
+
+
+ +
webcam
+
+
+ +
wechat
+
+
+ +
whatsapp
+
+
+ +
wifi-1
+
+
+ +
wifi-2
+
+
+ +
wifi-off
+
+
+ +
wifi
+
+
+ +
wind
+
+
+ +
window-dash
+
+
+ +
window-desktop
+
+
+ +
window-dock
+
+
+ +
window-fullscreen
+
+
+ +
window-plus
+
+
+ +
window-sidebar
+
+
+ +
window-split
+
+
+ +
window-stack
+
+
+ +
window-x
+
+
+ +
window
+
+
+ +
windows
+
+
+ +
wordpress
+
+
+ +
wrench-adjustable-circle-fill
+
+
+ +
wrench-adjustable-circle
+
+
+ +
wrench-adjustable
+
+
+ +
wrench
+
+
+ +
x-circle-fill
+
+
+ +
x-circle
+
+
+ +
x-diamond-fill
+
+
+ +
x-diamond
+
+
+ +
x-lg
+
+
+ +
x-octagon-fill
+
+
+ +
x-octagon
+
+
+ +
x-square-fill
+
+
+ +
x-square
+
+
+ +
x
+
+
+ +
xbox
+
+
+ +
yelp
+
+
+ +
yin-yang
+
+
+ +
youtube
+
+
+ +
zoom-in
+
+
+ +
zoom-out
+
+
+ + + diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle-fill.svg new file mode 100644 index 000000000..08afbb152 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle.svg new file mode 100644 index 000000000..8c518f7d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square-fill.svg new file mode 100644 index 000000000..d5375d465 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square.svg new file mode 100644 index 000000000..aa6670926 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle-fill.svg new file mode 100644 index 000000000..5141c8f12 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle.svg new file mode 100644 index 000000000..785af34d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square-fill.svg new file mode 100644 index 000000000..de579e6fe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square.svg new file mode 100644 index 000000000..4f57d79b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/123.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/123.svg new file mode 100644 index 000000000..3ee3396cd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/123.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle-fill.svg new file mode 100644 index 000000000..03a925132 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle.svg new file mode 100644 index 000000000..fea4a5630 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square-fill.svg new file mode 100644 index 000000000..a89e1f71e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square.svg new file mode 100644 index 000000000..558c78b90 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle-fill.svg new file mode 100644 index 000000000..06d2ea54e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle.svg new file mode 100644 index 000000000..23c347954 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square-fill.svg new file mode 100644 index 000000000..c6890a381 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square.svg new file mode 100644 index 000000000..b56b6844a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle-fill.svg new file mode 100644 index 000000000..199a5e28d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle.svg new file mode 100644 index 000000000..3af547d70 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square-fill.svg new file mode 100644 index 000000000..03b0f94a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square.svg new file mode 100644 index 000000000..dd8545591 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle-fill.svg new file mode 100644 index 000000000..e940e9880 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle.svg new file mode 100644 index 000000000..47eefd087 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square-fill.svg new file mode 100644 index 000000000..1a878609a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square.svg new file mode 100644 index 000000000..9c54c773e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle-fill.svg new file mode 100644 index 000000000..18f66ef5c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle.svg new file mode 100644 index 000000000..ab5f748d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square-fill.svg new file mode 100644 index 000000000..d67fa52d6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square.svg new file mode 100644 index 000000000..79762c8bf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle-fill.svg new file mode 100644 index 000000000..bb4522bf8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle.svg new file mode 100644 index 000000000..0dc4685e5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square-fill.svg new file mode 100644 index 000000000..8a4789cc4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square.svg new file mode 100644 index 000000000..a314c4a8b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle-fill.svg new file mode 100644 index 000000000..15cd6b4ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle.svg new file mode 100644 index 000000000..fb1454264 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square-fill.svg new file mode 100644 index 000000000..766d42ac0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square.svg new file mode 100644 index 000000000..f450b1786 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle-fill.svg new file mode 100644 index 000000000..6ebd865c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle.svg new file mode 100644 index 000000000..7c97f2940 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square-fill.svg new file mode 100644 index 000000000..daee3e84c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square.svg new file mode 100644 index 000000000..ade92337e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/activity.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/activity.svg new file mode 100644 index 000000000..1c45d1b44 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/activity.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines-fill.svg new file mode 100644 index 000000000..b58d49ffc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines.svg new file mode 100644 index 000000000..78b79342b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-fill.svg new file mode 100644 index 000000000..c8f2fce87 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane.svg new file mode 100644 index 000000000..2e04c928c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm-fill.svg new file mode 100644 index 000000000..bec569f99 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm.svg new file mode 100644 index 000000000..53f7cbe99 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alexa.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alexa.svg new file mode 100644 index 000000000..a68f1d9d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alexa.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-bottom.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-bottom.svg new file mode 100644 index 000000000..d9484c03e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-bottom.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-center.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-center.svg new file mode 100644 index 000000000..af0d75b0a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-center.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-end.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-end.svg new file mode 100644 index 000000000..28f861df2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-end.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-middle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-middle.svg new file mode 100644 index 000000000..95c6598f3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-middle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-start.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-start.svg new file mode 100644 index 000000000..a72ba984b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-start.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-top.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-top.svg new file mode 100644 index 000000000..d2934f523 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-top.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alipay.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alipay.svg new file mode 100644 index 000000000..df7def9d9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alipay.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alt.svg new file mode 100644 index 000000000..22b788648 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/amd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/amd.svg new file mode 100644 index 000000000..15dab8038 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/amd.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android.svg new file mode 100644 index 000000000..d8909520a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android2.svg new file mode 100644 index 000000000..37613cc60 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app-indicator.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app-indicator.svg new file mode 100644 index 000000000..450a01127 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app-indicator.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app.svg new file mode 100644 index 000000000..819df1bdc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/apple.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/apple.svg new file mode 100644 index 000000000..b8bc2a015 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/apple.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive-fill.svg new file mode 100644 index 000000000..077aa2973 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive.svg new file mode 100644 index 000000000..b41be300f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-down.svg new file mode 100644 index 000000000..1193b5d5a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-left.svg new file mode 100644 index 000000000..1656b2286 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-right.svg new file mode 100644 index 000000000..a7d32ce4a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-up.svg new file mode 100644 index 000000000..6c95e3de4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-down.svg new file mode 100644 index 000000000..fe18e3915 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-left.svg new file mode 100644 index 000000000..f53a1fdd7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-right.svg new file mode 100644 index 000000000..5019863d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-up.svg new file mode 100644 index 000000000..090b6bd4c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-clockwise.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-clockwise.svg new file mode 100644 index 000000000..b072eb097 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-clockwise.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-counterclockwise.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-counterclockwise.svg new file mode 100644 index 000000000..b0b23b9bb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-counterclockwise.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle-fill.svg new file mode 100644 index 000000000..8e837c0b4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle.svg new file mode 100644 index 000000000..fe215b941 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle-fill.svg new file mode 100644 index 000000000..bcebc12de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle.svg new file mode 100644 index 000000000..8b52276fd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square-fill.svg new file mode 100644 index 000000000..57c099f10 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square.svg new file mode 100644 index 000000000..08e00288e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left.svg new file mode 100644 index 000000000..96a6b08db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle-fill.svg new file mode 100644 index 000000000..35ab8c26e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle.svg new file mode 100644 index 000000000..1cd51bca4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square-fill.svg new file mode 100644 index 000000000..3ccff9ba1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square.svg new file mode 100644 index 000000000..5019b260b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right.svg new file mode 100644 index 000000000..80487bd0a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-short.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-short.svg new file mode 100644 index 000000000..2fda34073 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-short.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square-fill.svg new file mode 100644 index 000000000..ea8f14b49 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square.svg new file mode 100644 index 000000000..633671f25 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-up.svg new file mode 100644 index 000000000..a128d9bed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down.svg new file mode 100644 index 000000000..1344ca9dd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle-fill.svg new file mode 100644 index 000000000..2eebe62ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle.svg new file mode 100644 index 000000000..39f86b8c6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-right.svg new file mode 100644 index 000000000..8aabd7bea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-short.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-short.svg new file mode 100644 index 000000000..13005fb27 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-short.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square-fill.svg new file mode 100644 index 000000000..76dbe9e75 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square.svg new file mode 100644 index 000000000..4db19b31e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left.svg new file mode 100644 index 000000000..9d885017c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-repeat.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-repeat.svg new file mode 100644 index 000000000..d0d71546a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-repeat.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-left.svg new file mode 100644 index 000000000..f6b125ede --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-right.svg new file mode 100644 index 000000000..228e24b4a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle-fill.svg new file mode 100644 index 000000000..336a34ea0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle.svg new file mode 100644 index 000000000..1339b5206 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-short.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-short.svg new file mode 100644 index 000000000..4626398ce --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-short.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square-fill.svg new file mode 100644 index 000000000..55285ebe7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square.svg new file mode 100644 index 000000000..7209ead8f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right.svg new file mode 100644 index 000000000..d4b878b34 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart-fill.svg new file mode 100644 index 000000000..1b3c30f68 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart.svg new file mode 100644 index 000000000..f35287083 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle-fill.svg new file mode 100644 index 000000000..ab0a54cce --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle.svg new file mode 100644 index 000000000..9923ae3e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle-fill.svg new file mode 100644 index 000000000..df6e194c6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle.svg new file mode 100644 index 000000000..dfdaf71fe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square-fill.svg new file mode 100644 index 000000000..220169da8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square.svg new file mode 100644 index 000000000..9d3767f5b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left.svg new file mode 100644 index 000000000..da5bb6c1c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle-fill.svg new file mode 100644 index 000000000..ba547c827 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle.svg new file mode 100644 index 000000000..f2fcabc7e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square-fill.svg new file mode 100644 index 000000000..7454537b3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square.svg new file mode 100644 index 000000000..97544231d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right.svg new file mode 100644 index 000000000..6924a38d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-short.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-short.svg new file mode 100644 index 000000000..3863f1535 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-short.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square-fill.svg new file mode 100644 index 000000000..bb51b25a7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square.svg new file mode 100644 index 000000000..d21f03eb6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up.svg new file mode 100644 index 000000000..c46d49eb4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-contract.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-contract.svg new file mode 100644 index 000000000..d140e1943 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-contract.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-expand.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-expand.svg new file mode 100644 index 000000000..3697f605b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-expand.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-collapse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-collapse.svg new file mode 100644 index 000000000..353eed672 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-collapse.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-expand.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-expand.svg new file mode 100644 index 000000000..9880f2564 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-expand.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-fullscreen.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-fullscreen.svg new file mode 100644 index 000000000..dc0acc3ca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-fullscreen.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-move.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-move.svg new file mode 100644 index 000000000..eef62ef00 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-move.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio-fill.svg new file mode 100644 index 000000000..81dcfcba5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio.svg new file mode 100644 index 000000000..66719a76e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/asterisk.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/asterisk.svg new file mode 100644 index 000000000..8b0a9daef --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/asterisk.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/at.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/at.svg new file mode 100644 index 000000000..4a85e1453 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/at.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award-fill.svg new file mode 100644 index 000000000..6b589962b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award.svg new file mode 100644 index 000000000..8f572ff07 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/back.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/back.svg new file mode 100644 index 000000000..4c6cbcbac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/back.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-fill.svg new file mode 100644 index 000000000..ab63109ca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse-fill.svg new file mode 100644 index 000000000..ed509ec2f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse.svg new file mode 100644 index 000000000..446e019db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace.svg new file mode 100644 index 000000000..55c802cf1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d-fill.svg new file mode 100644 index 000000000..ac61cb5e6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d.svg new file mode 100644 index 000000000..34858372a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k-fill.svg new file mode 100644 index 000000000..f353033d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k.svg new file mode 100644 index 000000000..24ddcb195 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k-fill.svg new file mode 100644 index 000000000..1e1d4c162 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k.svg new file mode 100644 index 000000000..7df4c753e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad-fill.svg new file mode 100644 index 000000000..b383de673 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad.svg new file mode 100644 index 000000000..942b018b8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar-fill.svg new file mode 100644 index 000000000..f98caaca4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar.svg new file mode 100644 index 000000000..221050609 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc-fill.svg new file mode 100644 index 000000000..d9783fe5a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc.svg new file mode 100644 index 000000000..7868cb404 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd-fill.svg new file mode 100644 index 000000000..9f0a4982d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd.svg new file mode 100644 index 000000000..e3f4ae753 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd-fill.svg new file mode 100644 index 000000000..538b64275 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd.svg new file mode 100644 index 000000000..68667dd7e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm-fill.svg new file mode 100644 index 000000000..7d334ce58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm.svg new file mode 100644 index 000000000..452dd3bd8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo-fill.svg new file mode 100644 index 000000000..1f74e75b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo.svg new file mode 100644 index 000000000..500d98f97 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr-fill.svg new file mode 100644 index 000000000..6cde11ff0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr.svg new file mode 100644 index 000000000..5c0685248 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc-fill.svg new file mode 100644 index 000000000..47db37b1a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc.svg new file mode 100644 index 000000000..3f0cc5b13 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check-fill.svg new file mode 100644 index 000000000..a1ba2d27d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check.svg new file mode 100644 index 000000000..c6ad9acb1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash-fill.svg new file mode 100644 index 000000000..a73924286 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash.svg new file mode 100644 index 000000000..9bcb202f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-fill.svg new file mode 100644 index 000000000..1a1e2e2e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart-fill.svg new file mode 100644 index 000000000..a859e05c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart.svg new file mode 100644 index 000000000..2a6bd30c2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus-fill.svg new file mode 100644 index 000000000..a110b32ff --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus.svg new file mode 100644 index 000000000..b99a1a571 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x-fill.svg new file mode 100644 index 000000000..879bffe60 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x.svg new file mode 100644 index 000000000..616532ca4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag.svg new file mode 100644 index 000000000..603de5f44 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-fill.svg new file mode 100644 index 000000000..b66389461 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart-fill.svg new file mode 100644 index 000000000..cebfb9381 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart.svg new file mode 100644 index 000000000..dadf467ed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon.svg new file mode 100644 index 000000000..6ca06c3e5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid-fill.svg new file mode 100644 index 000000000..41d350a84 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid.svg new file mode 100644 index 000000000..de16de979 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank.svg new file mode 100644 index 000000000..264eaaa52 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank2.svg new file mode 100644 index 000000000..b03840cae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-fill.svg new file mode 100644 index 000000000..23ba4f6e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line-fill.svg new file mode 100644 index 000000000..a5059c460 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line.svg new file mode 100644 index 000000000..e3f0cf255 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-steps.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-steps.svg new file mode 100644 index 000000000..933fba881 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-steps.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart.svg new file mode 100644 index 000000000..c34c0d450 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket-fill.svg new file mode 100644 index 000000000..ebf223c72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket.svg new file mode 100644 index 000000000..4bc584b2d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2-fill.svg new file mode 100644 index 000000000..9ebf8dbbb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2.svg new file mode 100644 index 000000000..94f0bcb87 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3-fill.svg new file mode 100644 index 000000000..e26f0ee62 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3.svg new file mode 100644 index 000000000..ac46c0117 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-charging.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-charging.svg new file mode 100644 index 000000000..cbd91075c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-charging.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-full.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-full.svg new file mode 100644 index 000000000..48cf92eae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-full.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-half.svg new file mode 100644 index 000000000..8c3afca28 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-half.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery.svg new file mode 100644 index 000000000..126036069 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/behance.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/behance.svg new file mode 100644 index 000000000..a6a2c42b1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/behance.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-fill.svg new file mode 100644 index 000000000..76d9b6015 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash-fill.svg new file mode 100644 index 000000000..2e6f8cf89 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash.svg new file mode 100644 index 000000000..eddbb8adf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell.svg new file mode 100644 index 000000000..585d417ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier.svg new file mode 100644 index 000000000..21ec7b3ef --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier2.svg new file mode 100644 index 000000000..48722d0c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bicycle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bicycle.svg new file mode 100644 index 000000000..17a2105b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bicycle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars-fill.svg new file mode 100644 index 000000000..de09c7353 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars.svg new file mode 100644 index 000000000..47bca444f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-left.svg new file mode 100644 index 000000000..f2e0fa270 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-right.svg new file mode 100644 index 000000000..253518db0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bluetooth.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bluetooth.svg new file mode 100644 index 000000000..5021e77f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bluetooth.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/body-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/body-text.svg new file mode 100644 index 000000000..81ede1331 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/body-text.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-fill.svg new file mode 100644 index 000000000..276a281f3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-half.svg new file mode 100644 index 000000000..76589a577 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book.svg new file mode 100644 index 000000000..f0e5e49eb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check-fill.svg new file mode 100644 index 000000000..039e4555a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check.svg new file mode 100644 index 000000000..b1f572f58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash-fill.svg new file mode 100644 index 000000000..e17119240 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash.svg new file mode 100644 index 000000000..1138dbb81 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-fill.svg new file mode 100644 index 000000000..94661024c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart-fill.svg new file mode 100644 index 000000000..83db817bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart.svg new file mode 100644 index 000000000..be0adb19e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus-fill.svg new file mode 100644 index 000000000..bb4502ab2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus.svg new file mode 100644 index 000000000..986a2223f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star-fill.svg new file mode 100644 index 000000000..220f16ff4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star.svg new file mode 100644 index 000000000..0d2f26267 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x-fill.svg new file mode 100644 index 000000000..69fd98233 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x.svg new file mode 100644 index 000000000..6ac9e8016 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark.svg new file mode 100644 index 000000000..93e1d995b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks-fill.svg new file mode 100644 index 000000000..eb5a2db27 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks.svg new file mode 100644 index 000000000..6efa0bc01 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookshelf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookshelf.svg new file mode 100644 index 000000000..6549ea1b1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookshelf.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox-fill.svg new file mode 100644 index 000000000..6103ae227 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox.svg new file mode 100644 index 000000000..520f23ed6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-fill.svg new file mode 100644 index 000000000..9d163208c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-reboot.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-reboot.svg new file mode 100644 index 000000000..4a184cf7c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-reboot.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap.svg new file mode 100644 index 000000000..b6aed61d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-all.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-all.svg new file mode 100644 index 000000000..803f5e228 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-all.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-bottom.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-bottom.svg new file mode 100644 index 000000000..dbc219291 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-bottom.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-center.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-center.svg new file mode 100644 index 000000000..009b97da3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-center.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-inner.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-inner.svg new file mode 100644 index 000000000..2beaa0cdd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-inner.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-left.svg new file mode 100644 index 000000000..69df882a0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-middle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-middle.svg new file mode 100644 index 000000000..90296f906 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-middle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-outer.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-outer.svg new file mode 100644 index 000000000..355e05ef3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-outer.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-right.svg new file mode 100644 index 000000000..b0c16da58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-style.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-style.svg new file mode 100644 index 000000000..d742b2c95 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-style.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-top.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-top.svg new file mode 100644 index 000000000..5aab36858 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-top.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-width.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-width.svg new file mode 100644 index 000000000..0cbd0e668 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-width.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border.svg new file mode 100644 index 000000000..0e8c9b52d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box-circles.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box-circles.svg new file mode 100644 index 000000000..2e59f31a0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box-circles.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box.svg new file mode 100644 index 000000000..d5292928f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-left.svg new file mode 100644 index 000000000..6ad3e177d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-right.svg new file mode 100644 index 000000000..321cddf0b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down.svg new file mode 100644 index 000000000..9a2ca1279 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-left.svg new file mode 100644 index 000000000..76a687a0d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-right.svg new file mode 100644 index 000000000..923729341 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down.svg new file mode 100644 index 000000000..90f9301ca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-left.svg new file mode 100644 index 000000000..a237dafb3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-right.svg new file mode 100644 index 000000000..d158daede --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-left.svg new file mode 100644 index 000000000..6937f6a69 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-right.svg new file mode 100644 index 000000000..891861172 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up.svg new file mode 100644 index 000000000..e6a4a7bec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-left.svg new file mode 100644 index 000000000..8602603ad --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-right.svg new file mode 100644 index 000000000..2c4e26c52 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-left.svg new file mode 100644 index 000000000..7fb0b4581 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-right.svg new file mode 100644 index 000000000..1d93acb91 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up.svg new file mode 100644 index 000000000..beaf33467 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-fill.svg new file mode 100644 index 000000000..8cf213f81 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam-fill.svg new file mode 100644 index 000000000..97566ab58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam.svg new file mode 100644 index 000000000..e1506b838 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box.svg new file mode 100644 index 000000000..58cbe2c28 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-fill.svg new file mode 100644 index 000000000..242ad6a84 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart-fill.svg new file mode 100644 index 000000000..810e2ee6b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart.svg new file mode 100644 index 000000000..400eb431b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2.svg new file mode 100644 index 000000000..6020bafec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boxes.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boxes.svg new file mode 100644 index 000000000..b53fac847 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boxes.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces-asterisk.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces-asterisk.svg new file mode 100644 index 000000000..0a1a25bfa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces-asterisk.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces.svg new file mode 100644 index 000000000..3fed8c903 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bricks.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bricks.svg new file mode 100644 index 000000000..99e288642 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bricks.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase-fill.svg new file mode 100644 index 000000000..bc6150dc4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase.svg new file mode 100644 index 000000000..95d13a23e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high-fill.svg new file mode 100644 index 000000000..766065825 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high.svg new file mode 100644 index 000000000..88f5255c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low-fill.svg new file mode 100644 index 000000000..1692df21f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low.svg new file mode 100644 index 000000000..2d68fb0b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high-fill.svg new file mode 100644 index 000000000..8969e9ba0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high.svg new file mode 100644 index 000000000..42b2c205b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low-fill.svg new file mode 100644 index 000000000..29a1c3b1c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low.svg new file mode 100644 index 000000000..fdd251ddc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast-pin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast-pin.svg new file mode 100644 index 000000000..5576e0ec2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast-pin.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast.svg new file mode 100644 index 000000000..776a2378b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-chrome.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-chrome.svg new file mode 100644 index 000000000..a34ab4281 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-chrome.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-edge.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-edge.svg new file mode 100644 index 000000000..c8191d880 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-edge.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-firefox.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-firefox.svg new file mode 100644 index 000000000..2bfdba7e8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-firefox.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-safari.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-safari.svg new file mode 100644 index 000000000..b304b1b9b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-safari.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush-fill.svg new file mode 100644 index 000000000..53ec4d62d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush.svg new file mode 100644 index 000000000..cc3429b9d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket-fill.svg new file mode 100644 index 000000000..e14f4a879 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket.svg new file mode 100644 index 000000000..4911ef254 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug-fill.svg new file mode 100644 index 000000000..bf1644711 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug.svg new file mode 100644 index 000000000..a97ffa177 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-add.svg new file mode 100644 index 000000000..d5016d4d1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-add.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-check.svg new file mode 100644 index 000000000..151712db8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-check.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-dash.svg new file mode 100644 index 000000000..df489c8dd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-dash.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-down.svg new file mode 100644 index 000000000..2493f51a8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-down.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-exclamation.svg new file mode 100644 index 000000000..f2d8f62db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-add.svg new file mode 100644 index 000000000..2019e92fc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-add.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-check.svg new file mode 100644 index 000000000..50485c60a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-dash.svg new file mode 100644 index 000000000..67107eb5b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-down.svg new file mode 100644 index 000000000..b072754ff --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-exclamation.svg new file mode 100644 index 000000000..6ca39dc0c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-gear.svg new file mode 100644 index 000000000..95d6126be --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-gear.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-lock.svg new file mode 100644 index 000000000..ddd8e6ce7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-slash.svg new file mode 100644 index 000000000..7e30330be --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-up.svg new file mode 100644 index 000000000..ef87446cf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-x.svg new file mode 100644 index 000000000..0311537c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill.svg new file mode 100644 index 000000000..fa95d1f77 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-gear.svg new file mode 100644 index 000000000..698a74673 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-gear.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-lock.svg new file mode 100644 index 000000000..f4da96c28 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-slash.svg new file mode 100644 index 000000000..9920301ac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-slash.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-up.svg new file mode 100644 index 000000000..b2b0433c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-up.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-x.svg new file mode 100644 index 000000000..81bff0f88 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building.svg new file mode 100644 index 000000000..eb90b93a7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings-fill.svg new file mode 100644 index 000000000..3799c1d83 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings.svg new file mode 100644 index 000000000..b842c0c46 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bullseye.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bullseye.svg new file mode 100644 index 000000000..85a807cee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bullseye.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front-fill.svg new file mode 100644 index 000000000..c71376d1b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front.svg new file mode 100644 index 000000000..bdf6b61e6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle-fill.svg new file mode 100644 index 000000000..0b4adad1e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle.svg new file mode 100644 index 000000000..3e4e26801 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square-fill.svg new file mode 100644 index 000000000..0b24f7340 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square.svg new file mode 100644 index 000000000..822ae023d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator-fill.svg new file mode 100644 index 000000000..c4ee270f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator.svg new file mode 100644 index 000000000..be8e11a96 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check-fill.svg new file mode 100644 index 000000000..76afaa26a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check.svg new file mode 100644 index 000000000..125b358d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date-fill.svg new file mode 100644 index 000000000..37e9cb52e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date.svg new file mode 100644 index 000000000..7c53231a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day-fill.svg new file mode 100644 index 000000000..7f1c3c151 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day.svg new file mode 100644 index 000000000..f043369eb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event-fill.svg new file mode 100644 index 000000000..844dd151b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event.svg new file mode 100644 index 000000000..41c0ef9b4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-fill.svg new file mode 100644 index 000000000..0cdeb35ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart-fill.svg new file mode 100644 index 000000000..bed00d813 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart.svg new file mode 100644 index 000000000..2fe7c13f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus-fill.svg new file mode 100644 index 000000000..f23e6482e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus.svg new file mode 100644 index 000000000..8f970accf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month-fill.svg new file mode 100644 index 000000000..9123437c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month.svg new file mode 100644 index 000000000..ad6a330cc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus-fill.svg new file mode 100644 index 000000000..3928c6389 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus.svg new file mode 100644 index 000000000..70746dbe5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range-fill.svg new file mode 100644 index 000000000..41bb2a2f0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range.svg new file mode 100644 index 000000000..934a45c80 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week-fill.svg new file mode 100644 index 000000000..00930aa40 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week.svg new file mode 100644 index 000000000..06d6995f6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x-fill.svg new file mode 100644 index 000000000..01be3013c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x.svg new file mode 100644 index 000000000..faf46e11f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar.svg new file mode 100644 index 000000000..c8590dd08 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check-fill.svg new file mode 100644 index 000000000..f49354e82 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check.svg new file mode 100644 index 000000000..f82605669 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date-fill.svg new file mode 100644 index 000000000..ac005e0f6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date.svg new file mode 100644 index 000000000..2dd64e8e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day-fill.svg new file mode 100644 index 000000000..2ab1b216c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day.svg new file mode 100644 index 000000000..d4d485660 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event-fill.svg new file mode 100644 index 000000000..5bdbc27ed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event.svg new file mode 100644 index 000000000..8c1c7cd04 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-fill.svg new file mode 100644 index 000000000..4b81563f3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart-fill.svg new file mode 100644 index 000000000..a1782e3d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart.svg new file mode 100644 index 000000000..6d6698105 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus-fill.svg new file mode 100644 index 000000000..af8721331 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus.svg new file mode 100644 index 000000000..eff8110de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month-fill.svg new file mode 100644 index 000000000..58deabc10 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month.svg new file mode 100644 index 000000000..88c922e26 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus-fill.svg new file mode 100644 index 000000000..8b41682f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus.svg new file mode 100644 index 000000000..7ec7d4956 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range-fill.svg new file mode 100644 index 000000000..39ba322f6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range.svg new file mode 100644 index 000000000..4a8d9adc7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week-fill.svg new file mode 100644 index 000000000..830377986 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week.svg new file mode 100644 index 000000000..835ce0671 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x-fill.svg new file mode 100644 index 000000000..2157939a5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x.svg new file mode 100644 index 000000000..e7cc3390d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2.svg new file mode 100644 index 000000000..db2e06dda --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event-fill.svg new file mode 100644 index 000000000..c4940904a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event.svg new file mode 100644 index 000000000..681ce4d23 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-fill.svg new file mode 100644 index 000000000..e37c234ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range-fill.svg new file mode 100644 index 000000000..00875b2a5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range.svg new file mode 100644 index 000000000..a45251605 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week-fill.svg new file mode 100644 index 000000000..53e5bc702 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week.svg new file mode 100644 index 000000000..e9a768cb7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3.svg new file mode 100644 index 000000000..eb3c5f2d9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-event.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-event.svg new file mode 100644 index 000000000..51d40e873 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-event.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-range.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-range.svg new file mode 100644 index 000000000..129d7c195 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-range.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-week.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-week.svg new file mode 100644 index 000000000..5644238ca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-week.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4.svg new file mode 100644 index 000000000..1c6268515 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-fill.svg new file mode 100644 index 000000000..be16451ad --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels-fill.svg new file mode 100644 index 000000000..347f44e06 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels.svg new file mode 100644 index 000000000..1aa7b1ca3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-fill.svg new file mode 100644 index 000000000..0222b9587 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off-fill.svg new file mode 100644 index 000000000..99090600f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off.svg new file mode 100644 index 000000000..7635e9b5c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video.svg new file mode 100644 index 000000000..199e7a837 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera.svg new file mode 100644 index 000000000..fb337fe50 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera2.svg new file mode 100644 index 000000000..a33ae6b6a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock-fill.svg new file mode 100644 index 000000000..e4af909ee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock.svg new file mode 100644 index 000000000..12155de35 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule-pill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule-pill.svg new file mode 100644 index 000000000..c57efff62 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule-pill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule.svg new file mode 100644 index 000000000..844aa8ee2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front-fill.svg new file mode 100644 index 000000000..e9c5204ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front.svg new file mode 100644 index 000000000..a2ec568e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-checklist.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-checklist.svg new file mode 100644 index 000000000..ce2a553e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-checklist.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-heading.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-heading.svg new file mode 100644 index 000000000..682bd4e41 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-heading.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-image.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-image.svg new file mode 100644 index 000000000..473ff030b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-image.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-list.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-list.svg new file mode 100644 index 000000000..3dc5d429f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-list.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-text.svg new file mode 100644 index 000000000..d218f554b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-fill.svg new file mode 100644 index 000000000..d7c3990eb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square-fill.svg new file mode 100644 index 000000000..ae8fbb468 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square.svg new file mode 100644 index 000000000..cf34038a7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down.svg new file mode 100644 index 000000000..026b0ff35 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-fill.svg new file mode 100644 index 000000000..d989dff93 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square-fill.svg new file mode 100644 index 000000000..5d8ab5672 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square.svg new file mode 100644 index 000000000..099b54ddd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left.svg new file mode 100644 index 000000000..89732f090 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-fill.svg new file mode 100644 index 000000000..b44555181 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square-fill.svg new file mode 100644 index 000000000..ea06657fd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square.svg new file mode 100644 index 000000000..4039064d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right.svg new file mode 100644 index 000000000..451686e4a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-fill.svg new file mode 100644 index 000000000..a87820e6e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square-fill.svg new file mode 100644 index 000000000..25c66a58b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square.svg new file mode 100644 index 000000000..d59ecbf9e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up.svg new file mode 100644 index 000000000..36ca8f0ef --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check-fill.svg new file mode 100644 index 000000000..019c1fc92 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check.svg new file mode 100644 index 000000000..986706a40 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash-fill.svg new file mode 100644 index 000000000..2562744b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash.svg new file mode 100644 index 000000000..ecd23f336 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-fill.svg new file mode 100644 index 000000000..a2b95bf09 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus-fill.svg new file mode 100644 index 000000000..9858fe1e3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus.svg new file mode 100644 index 000000000..acafe1324 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x-fill.svg new file mode 100644 index 000000000..a9a32caa0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x.svg new file mode 100644 index 000000000..feddfdd50 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart.svg new file mode 100644 index 000000000..486adb1c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart2.svg new file mode 100644 index 000000000..7e1bd9abf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart3.svg new file mode 100644 index 000000000..2187149f5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart4.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart4.svg new file mode 100644 index 000000000..b40891fbc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart4.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-coin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-coin.svg new file mode 100644 index 000000000..bc82c64af --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-coin.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-stack.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-stack.svg new file mode 100644 index 000000000..492cb381f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-stack.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash.svg new file mode 100644 index 000000000..ef3a4e7dc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette-fill.svg new file mode 100644 index 000000000..e8dd8f1aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette.svg new file mode 100644 index 000000000..c28170c07 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cast.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cast.svg new file mode 100644 index 000000000..1eda17371 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cast.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle-fill.svg new file mode 100644 index 000000000..ca9779e19 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle.svg new file mode 100644 index 000000000..6de6b7603 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square-fill.svg new file mode 100644 index 000000000..f9b44d549 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square.svg new file mode 100644 index 000000000..90c52bce0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots-fill.svg new file mode 100644 index 000000000..2e3d22505 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots.svg new file mode 100644 index 000000000..a74267d28 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-fill.svg new file mode 100644 index 000000000..69ed44bea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart-fill.svg new file mode 100644 index 000000000..9be92ca2e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart.svg new file mode 100644 index 000000000..90c276b8c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots-fill.svg new file mode 100644 index 000000000..eb7f531bd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots.svg new file mode 100644 index 000000000..c73169d7d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-fill.svg new file mode 100644 index 000000000..38c389f51 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart-fill.svg new file mode 100644 index 000000000..787ed61cf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart.svg new file mode 100644 index 000000000..1604e7bca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote-fill.svg new file mode 100644 index 000000000..b115a9fe6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote.svg new file mode 100644 index 000000000..448827f4f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text-fill.svg new file mode 100644 index 000000000..28a0f4710 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text.svg new file mode 100644 index 000000000..2b69a9891 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left.svg new file mode 100644 index 000000000..fd2f4ee4c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote-fill.svg new file mode 100644 index 000000000..4a3af86eb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote.svg new file mode 100644 index 000000000..f890c38d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots-fill.svg new file mode 100644 index 000000000..49ce0973c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots.svg new file mode 100644 index 000000000..423d221dc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-fill.svg new file mode 100644 index 000000000..41b767bbf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart-fill.svg new file mode 100644 index 000000000..b55dc621e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart.svg new file mode 100644 index 000000000..744e8a0d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote-fill.svg new file mode 100644 index 000000000..e63f92b52 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote.svg new file mode 100644 index 000000000..42c8dbe04 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text-fill.svg new file mode 100644 index 000000000..32df9212a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text.svg new file mode 100644 index 000000000..d8b600464 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right.svg new file mode 100644 index 000000000..b702b5d18 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots-fill.svg new file mode 100644 index 000000000..1025978df --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots.svg new file mode 100644 index 000000000..e59cd1a1f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-fill.svg new file mode 100644 index 000000000..2fb73ac48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart-fill.svg new file mode 100644 index 000000000..f200049c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart.svg new file mode 100644 index 000000000..89ca6efd7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote-fill.svg new file mode 100644 index 000000000..761cb91c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote.svg new file mode 100644 index 000000000..40893f495 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text-fill.svg new file mode 100644 index 000000000..1dd17c513 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text.svg new file mode 100644 index 000000000..ae3fd8da2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square.svg new file mode 100644 index 000000000..7611729e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text-fill.svg new file mode 100644 index 000000000..fff3db332 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text.svg new file mode 100644 index 000000000..75a79f1a3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat.svg new file mode 100644 index 000000000..3cb81b293 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-all.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-all.svg new file mode 100644 index 000000000..b0019d00f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-all.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle-fill.svg new file mode 100644 index 000000000..e861174a8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle.svg new file mode 100644 index 000000000..d8dd0cd57 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-lg.svg new file mode 100644 index 000000000..7afb0ae18 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square-fill.svg new file mode 100644 index 000000000..45d682850 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square.svg new file mode 100644 index 000000000..d71c1f348 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check.svg new file mode 100644 index 000000000..9de6cc752 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-all.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-all.svg new file mode 100644 index 000000000..25d8ba52f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-all.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-circle.svg new file mode 100644 index 000000000..7319d37b3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-square.svg new file mode 100644 index 000000000..2d5e6eb87 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2.svg new file mode 100644 index 000000000..e187956c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-contract.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-contract.svg new file mode 100644 index 000000000..f12917f79 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-contract.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-down.svg new file mode 100644 index 000000000..4df2259f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-expand.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-expand.svg new file mode 100644 index 000000000..6cb775f94 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-expand.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-left.svg new file mode 100644 index 000000000..5d53406ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-right.svg new file mode 100644 index 000000000..b71553ca9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-up.svg new file mode 100644 index 000000000..9ca140895 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-down.svg new file mode 100644 index 000000000..fb1767e01 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-left.svg new file mode 100644 index 000000000..5dd6b6bfc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-right.svg new file mode 100644 index 000000000..ecb5994e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-up.svg new file mode 100644 index 000000000..8bc0a55e6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-contract.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-contract.svg new file mode 100644 index 000000000..5243d4354 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-contract.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-down.svg new file mode 100644 index 000000000..0df76eed4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-left.svg new file mode 100644 index 000000000..7181fd111 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-right.svg new file mode 100644 index 000000000..73e1b352d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-up.svg new file mode 100644 index 000000000..5c9a01326 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-down.svg new file mode 100644 index 000000000..1f0b8bc70 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-expand.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-expand.svg new file mode 100644 index 000000000..0a2b81a3b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-expand.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-left.svg new file mode 100644 index 000000000..018f8b673 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-right.svg new file mode 100644 index 000000000..d621289b3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-up.svg new file mode 100644 index 000000000..3b2bd42e6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-fill.svg new file mode 100644 index 000000000..e0d1b5157 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-half.svg new file mode 100644 index 000000000..53809298b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-square.svg new file mode 100644 index 000000000..37d86229f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle.svg new file mode 100644 index 000000000..dc57919b3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check-fill.svg new file mode 100644 index 000000000..4c0c18fcf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check.svg new file mode 100644 index 000000000..f7591aecf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data-fill.svg new file mode 100644 index 000000000..e7de45a26 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data.svg new file mode 100644 index 000000000..b4fcb336b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-fill.svg new file mode 100644 index 000000000..86d3da067 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart-fill.svg new file mode 100644 index 000000000..c653de1c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart.svg new file mode 100644 index 000000000..0b5b31921 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus-fill.svg new file mode 100644 index 000000000..7828cb8b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus.svg new file mode 100644 index 000000000..4826c3e65 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus-fill.svg new file mode 100644 index 000000000..2ebdba42c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus.svg new file mode 100644 index 000000000..79020c074 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-pulse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-pulse.svg new file mode 100644 index 000000000..0c43dab87 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-pulse.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x-fill.svg new file mode 100644 index 000000000..8cba1ea76 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x.svg new file mode 100644 index 000000000..bba444da7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard.svg new file mode 100644 index 000000000..360e0894c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check-fill.svg new file mode 100644 index 000000000..01aed624b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check.svg new file mode 100644 index 000000000..c2352080c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data-fill.svg new file mode 100644 index 000000000..40656a7b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data.svg new file mode 100644 index 000000000..74b26f516 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-fill.svg new file mode 100644 index 000000000..ca2df5711 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart-fill.svg new file mode 100644 index 000000000..2abc35947 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart.svg new file mode 100644 index 000000000..4883c3f2a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus-fill.svg new file mode 100644 index 000000000..000a2c631 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus.svg new file mode 100644 index 000000000..a634bb0f0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus-fill.svg new file mode 100644 index 000000000..f1702d8bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus.svg new file mode 100644 index 000000000..474ffdcc2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse-fill.svg new file mode 100644 index 000000000..5017f6dcc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse.svg new file mode 100644 index 000000000..1e6370c08 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x-fill.svg new file mode 100644 index 000000000..8f63584d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x.svg new file mode 100644 index 000000000..9ac82117a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2.svg new file mode 100644 index 000000000..d729ddb6e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-fill.svg new file mode 100644 index 000000000..189dec101 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-history.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-history.svg new file mode 100644 index 000000000..414b526c6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-history.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock.svg new file mode 100644 index 000000000..72f293960 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down-fill.svg new file mode 100644 index 000000000..6e18ca9ed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down.svg new file mode 100644 index 000000000..cb8e33aee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up-fill.svg new file mode 100644 index 000000000..89d72fbe1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up.svg new file mode 100644 index 000000000..6f69abc7c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check-fill.svg new file mode 100644 index 000000000..81f28b5f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check.svg new file mode 100644 index 000000000..917d5c2e3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download-fill.svg new file mode 100644 index 000000000..53c4242f8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download.svg new file mode 100644 index 000000000..c6b3fe31e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle-fill.svg new file mode 100644 index 000000000..996aec436 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle.svg new file mode 100644 index 000000000..bb1e68bfc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fill.svg new file mode 100644 index 000000000..23755bd82 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog-fill.svg new file mode 100644 index 000000000..07f10f4c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog.svg new file mode 100644 index 000000000..b40c9838c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2-fill.svg new file mode 100644 index 000000000..1d498514e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2.svg new file mode 100644 index 000000000..1bd3c2501 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail-fill.svg new file mode 100644 index 000000000..d8a096bd2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail.svg new file mode 100644 index 000000000..2f9bec11c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze-fill.svg new file mode 100644 index 000000000..002fc26b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze.svg new file mode 100644 index 000000000..513e346cd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2-fill.svg new file mode 100644 index 000000000..e9b7bda75 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2.svg new file mode 100644 index 000000000..c213dfb7f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-fill.svg new file mode 100644 index 000000000..1d309046b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain-fill.svg new file mode 100644 index 000000000..2b6d4a1cc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain.svg new file mode 100644 index 000000000..31badb3b0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning.svg new file mode 100644 index 000000000..5a8bafd8d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus-fill.svg new file mode 100644 index 000000000..753727fe8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus.svg new file mode 100644 index 000000000..a4ab6f97c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon-fill.svg new file mode 100644 index 000000000..d968faf9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon.svg new file mode 100644 index 000000000..1089204ad --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus-fill.svg new file mode 100644 index 000000000..92620aa46 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus.svg new file mode 100644 index 000000000..4ef51f2d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-fill.svg new file mode 100644 index 000000000..94cddbaa5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy-fill.svg new file mode 100644 index 000000000..167c8af48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy.svg new file mode 100644 index 000000000..a5c41e5aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain.svg new file mode 100644 index 000000000..eb4003236 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash-fill.svg new file mode 100644 index 000000000..a4b8bad4d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash.svg new file mode 100644 index 000000000..fe8917838 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet-fill.svg new file mode 100644 index 000000000..73764dcfb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet.svg new file mode 100644 index 000000000..d3c8f2eb8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow-fill.svg new file mode 100644 index 000000000..0ffc577ac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow.svg new file mode 100644 index 000000000..b1643fbc6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun-fill.svg new file mode 100644 index 000000000..9ecf7de7e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun.svg new file mode 100644 index 000000000..76ebc49e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload-fill.svg new file mode 100644 index 000000000..766015d4a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload.svg new file mode 100644 index 000000000..6184b727f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud.svg new file mode 100644 index 000000000..7b0b9b388 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds-fill.svg new file mode 100644 index 000000000..fe7fc071c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds.svg new file mode 100644 index 000000000..c9a5ba005 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy-fill.svg new file mode 100644 index 000000000..3e90f9e83 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy.svg new file mode 100644 index 000000000..0783bcae6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-slash.svg new file mode 100644 index 000000000..ef0ef0181 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-slash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-square.svg new file mode 100644 index 000000000..415b56c6d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code.svg new file mode 100644 index 000000000..079f5c67f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/coin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/coin.svg new file mode 100644 index 000000000..045d428fa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/coin.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-fill.svg new file mode 100644 index 000000000..fee7f54f7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play-fill.svg new file mode 100644 index 000000000..2601e48c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play.svg new file mode 100644 index 000000000..96b5c6eec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection.svg new file mode 100644 index 000000000..0870f5afd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns-gap.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns-gap.svg new file mode 100644 index 000000000..b3cb17536 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns-gap.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns.svg new file mode 100644 index 000000000..d7854918c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/command.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/command.svg new file mode 100644 index 000000000..d1622544e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/command.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass-fill.svg new file mode 100644 index 000000000..ad821c4a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass.svg new file mode 100644 index 000000000..86494617e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone-striped.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone-striped.svg new file mode 100644 index 000000000..44e96065d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone-striped.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone.svg new file mode 100644 index 000000000..2de05c5ba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/controller.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/controller.svg new file mode 100644 index 000000000..15e777456 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/controller.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu-fill.svg new file mode 100644 index 000000000..50d0a0782 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu.svg new file mode 100644 index 000000000..a9fbaa3f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back-fill.svg new file mode 100644 index 000000000..c80bb6c9b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back.svg new file mode 100644 index 000000000..e99159cd0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front-fill.svg new file mode 100644 index 000000000..c082ef0ab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front.svg new file mode 100644 index 000000000..95b071df9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-fill.svg new file mode 100644 index 000000000..d0686a8aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card.svg new file mode 100644 index 000000000..f716d39df --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/crop.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/crop.svg new file mode 100644 index 000000000..b7e174904 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/crop.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-fill.svg new file mode 100644 index 000000000..c8119352d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot-fill.svg new file mode 100644 index 000000000..f512ae01d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot.svg new file mode 100644 index 000000000..789f1ea58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-straw.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-straw.svg new file mode 100644 index 000000000..bda9d076f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-straw.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup.svg new file mode 100644 index 000000000..490fe09a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-bitcoin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-bitcoin.svg new file mode 100644 index 000000000..488adca31 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-bitcoin.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-dollar.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-dollar.svg new file mode 100644 index 000000000..572e34c27 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-dollar.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-euro.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-euro.svg new file mode 100644 index 000000000..1fcaa7c6d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-euro.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-exchange.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-exchange.svg new file mode 100644 index 000000000..1e3eaf399 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-exchange.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-pound.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-pound.svg new file mode 100644 index 000000000..60dbd5852 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-pound.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-rupee.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-rupee.svg new file mode 100644 index 000000000..843d0fa88 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-rupee.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-yen.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-yen.svg new file mode 100644 index 000000000..5bbf1a2a5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-yen.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-fill.svg new file mode 100644 index 000000000..093372b80 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-text.svg new file mode 100644 index 000000000..42a48fa8a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-text.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor.svg new file mode 100644 index 000000000..315106bc4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-dotted.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-dotted.svg new file mode 100644 index 000000000..7e29372df --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-dotted.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-fill.svg new file mode 100644 index 000000000..db27419ee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle.svg new file mode 100644 index 000000000..17483d6f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-lg.svg new file mode 100644 index 000000000..0f4c5e9a3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-dotted.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-dotted.svg new file mode 100644 index 000000000..15b8d4b09 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-dotted.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-fill.svg new file mode 100644 index 000000000..85a95b2cd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square.svg new file mode 100644 index 000000000..b63e53698 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash.svg new file mode 100644 index 000000000..4ac42887a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-add.svg new file mode 100644 index 000000000..8b9e0ccfa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-add.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-check.svg new file mode 100644 index 000000000..f19308481 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-dash.svg new file mode 100644 index 000000000..1bcb011b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-down.svg new file mode 100644 index 000000000..49dfd2e4b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-exclamation.svg new file mode 100644 index 000000000..178b61a78 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-add.svg new file mode 100644 index 000000000..993b4dfbf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-add.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-check.svg new file mode 100644 index 000000000..579da2e1f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-dash.svg new file mode 100644 index 000000000..ce9c8c78d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-down.svg new file mode 100644 index 000000000..433b9adb0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-exclamation.svg new file mode 100644 index 000000000..f935d0ba1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-exclamation.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-gear.svg new file mode 100644 index 000000000..1501670b4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-gear.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-lock.svg new file mode 100644 index 000000000..27dce6d36 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-lock.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-slash.svg new file mode 100644 index 000000000..8ccdf4417 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-up.svg new file mode 100644 index 000000000..6f767b596 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-x.svg new file mode 100644 index 000000000..1f65f61f3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-x.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill.svg new file mode 100644 index 000000000..2c7e04c01 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-gear.svg new file mode 100644 index 000000000..77a5855f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-gear.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-lock.svg new file mode 100644 index 000000000..ad5a8f9a8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-slash.svg new file mode 100644 index 000000000..d1f6a973e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-up.svg new file mode 100644 index 000000000..cfb75ed6d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-x.svg new file mode 100644 index 000000000..314a6fd13 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database.svg new file mode 100644 index 000000000..45e4eb85e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd-fill.svg new file mode 100644 index 000000000..5b5ae29e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd.svg new file mode 100644 index 000000000..960e609ba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd-fill.svg new file mode 100644 index 000000000..9ba580203 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd.svg new file mode 100644 index 000000000..0dd8ae5e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2-fill.svg new file mode 100644 index 000000000..b46a21200 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2.svg new file mode 100644 index 000000000..2b330e550 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3-fill.svg new file mode 100644 index 000000000..6cc31c04c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3.svg new file mode 100644 index 000000000..464b051d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-fill.svg new file mode 100644 index 000000000..e6e3151ff --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-half.svg new file mode 100644 index 000000000..4e1379143 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond.svg new file mode 100644 index 000000000..4cddafaf9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1-fill.svg new file mode 100644 index 000000000..0b20aa019 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1.svg new file mode 100644 index 000000000..97c2432de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2-fill.svg new file mode 100644 index 000000000..f55f92168 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2.svg new file mode 100644 index 000000000..38013a8e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3-fill.svg new file mode 100644 index 000000000..ae5a1ba4d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3.svg new file mode 100644 index 000000000..705b7e7f3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4-fill.svg new file mode 100644 index 000000000..6dad92bb2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4.svg new file mode 100644 index 000000000..070f9812a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5-fill.svg new file mode 100644 index 000000000..a92382b30 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5.svg new file mode 100644 index 000000000..b4369c7e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6-fill.svg new file mode 100644 index 000000000..fce8cb4b1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6.svg new file mode 100644 index 000000000..44d25dc17 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc-fill.svg new file mode 100644 index 000000000..b03f34d0e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc.svg new file mode 100644 index 000000000..f3475a2e3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/discord.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/discord.svg new file mode 100644 index 000000000..877cfdf91 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/discord.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display-fill.svg new file mode 100644 index 000000000..f7c3fca74 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display.svg new file mode 100644 index 000000000..700d7805b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport-fill.svg new file mode 100644 index 000000000..17fe77191 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport.svg new file mode 100644 index 000000000..3e5748a91 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-horizontal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-horizontal.svg new file mode 100644 index 000000000..fe90ff8c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-horizontal.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-vertical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-vertical.svg new file mode 100644 index 000000000..234b2c275 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-vertical.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed-fill.svg new file mode 100644 index 000000000..1d2a0366d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed.svg new file mode 100644 index 000000000..3eab448fe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open-fill.svg new file mode 100644 index 000000000..d4833a36c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open.svg new file mode 100644 index 000000000..d9638a319 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dot.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dot.svg new file mode 100644 index 000000000..183e4a895 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dot.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/download.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/download.svg new file mode 100644 index 000000000..80a5817fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/download.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad-fill.svg new file mode 100644 index 000000000..ea54468de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad.svg new file mode 100644 index 000000000..9363c904a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dribbble.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dribbble.svg new file mode 100644 index 000000000..809f2d3c0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dribbble.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dropbox.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dropbox.svg new file mode 100644 index 000000000..64311413c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dropbox.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-fill.svg new file mode 100644 index 000000000..a240876bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-half.svg new file mode 100644 index 000000000..43eb20850 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-half.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet.svg new file mode 100644 index 000000000..2b405d682 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear-fill.svg new file mode 100644 index 000000000..8e564c08b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear.svg new file mode 100644 index 000000000..8c8b869e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/earbuds.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/earbuds.svg new file mode 100644 index 000000000..7bc0019ea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/earbuds.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel-fill.svg new file mode 100644 index 000000000..db0079836 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel.svg new file mode 100644 index 000000000..f95976eae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2-fill.svg new file mode 100644 index 000000000..c39324221 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2.svg new file mode 100644 index 000000000..d1736ded6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3-fill.svg new file mode 100644 index 000000000..2e5722319 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3.svg new file mode 100644 index 000000000..a39ad3d72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fill.svg new file mode 100644 index 000000000..33b7d4434 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fried.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fried.svg new file mode 100644 index 000000000..b99cac3bf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fried.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg.svg new file mode 100644 index 000000000..9fb5c1ed0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject-fill.svg new file mode 100644 index 000000000..3255af67d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject.svg new file mode 100644 index 000000000..540cbc813 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry-fill.svg new file mode 100644 index 000000000..1bf7eb600 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry.svg new file mode 100644 index 000000000..d6d891432 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy-fill.svg new file mode 100644 index 000000000..d8018007b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy.svg new file mode 100644 index 000000000..f64fade85 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless-fill.svg new file mode 100644 index 000000000..f70140ac7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless.svg new file mode 100644 index 000000000..208a72d8e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown-fill.svg new file mode 100644 index 000000000..c8a9ddc4a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown.svg new file mode 100644 index 000000000..b7766ebf6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes-fill.svg new file mode 100644 index 000000000..cc91552ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes.svg new file mode 100644 index 000000000..c19ec51ac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss-fill.svg new file mode 100644 index 000000000..ab4624564 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss.svg new file mode 100644 index 000000000..4646628b8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing-fill.svg new file mode 100644 index 000000000..cc8c69b8e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing.svg new file mode 100644 index 000000000..68d9b25f5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral-fill.svg new file mode 100644 index 000000000..58bcb6b9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral.svg new file mode 100644 index 000000000..2f3204a7b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-fill.svg new file mode 100644 index 000000000..76a6a1632 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down-fill.svg new file mode 100644 index 000000000..c6829332c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down.svg new file mode 100644 index 000000000..1e1842434 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile.svg new file mode 100644 index 000000000..d222a9ae8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses-fill.svg new file mode 100644 index 000000000..00e7bc0d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses.svg new file mode 100644 index 000000000..4771e4dbf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink-fill.svg new file mode 100644 index 000000000..8601a584c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink.svg new file mode 100644 index 000000000..ee3b3d0e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at-fill.svg new file mode 100644 index 000000000..7102a5b12 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at.svg new file mode 100644 index 000000000..46b9134ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check-fill.svg new file mode 100644 index 000000000..ca06ad0bf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check.svg new file mode 100644 index 000000000..8a501810c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash-fill.svg new file mode 100644 index 000000000..7275d3df4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash.svg new file mode 100644 index 000000000..7ae3e5cf1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation-fill.svg new file mode 100644 index 000000000..4bc91d20e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation.svg new file mode 100644 index 000000000..936b77771 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-fill.svg new file mode 100644 index 000000000..0b28c8661 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart-fill.svg new file mode 100644 index 000000000..8ed9e0288 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart.svg new file mode 100644 index 000000000..b104999f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-fill.svg new file mode 100644 index 000000000..29d8fe77e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart-fill.svg new file mode 100644 index 000000000..478b85bf4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart.svg new file mode 100644 index 000000000..7d324a281 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open.svg new file mode 100644 index 000000000..9a542d2e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-fill.svg new file mode 100644 index 000000000..14f613e9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart-fill.svg new file mode 100644 index 000000000..e422accd7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart.svg new file mode 100644 index 000000000..2d925aec9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper.svg new file mode 100644 index 000000000..a909c6377 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus-fill.svg new file mode 100644 index 000000000..96703c2b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus.svg new file mode 100644 index 000000000..0abb96690 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash-fill.svg new file mode 100644 index 000000000..09690e54a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash.svg new file mode 100644 index 000000000..35b378331 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x-fill.svg new file mode 100644 index 000000000..b8348b18f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x.svg new file mode 100644 index 000000000..cd78475f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope.svg new file mode 100644 index 000000000..122fc357d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser-fill.svg new file mode 100644 index 000000000..10959b3d3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser.svg new file mode 100644 index 000000000..e7060e56f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/escape.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/escape.svg new file mode 100644 index 000000000..112c87b0b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/escape.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ethernet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ethernet.svg new file mode 100644 index 000000000..9b97a3afe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ethernet.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front-fill.svg new file mode 100644 index 000000000..6926f5200 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front.svg new file mode 100644 index 000000000..2e0acc642 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station-fill.svg new file mode 100644 index 000000000..a30f613b1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station.svg new file mode 100644 index 000000000..faec20c29 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle-fill.svg new file mode 100644 index 000000000..f7a7d17bf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle.svg new file mode 100644 index 000000000..73c7e8d70 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond-fill.svg new file mode 100644 index 000000000..5987fe724 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond.svg new file mode 100644 index 000000000..6c0388bf0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-lg.svg new file mode 100644 index 000000000..b21e727fc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon-fill.svg new file mode 100644 index 000000000..3347f64c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon.svg new file mode 100644 index 000000000..6ef1db9ff --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square-fill.svg new file mode 100644 index 000000000..e99eab8e6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square.svg new file mode 100644 index 000000000..41436cb5a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle-fill.svg new file mode 100644 index 000000000..50e17525e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle.svg new file mode 100644 index 000000000..7ca0dc745 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation.svg new file mode 100644 index 000000000..953004b39 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclude.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclude.svg new file mode 100644 index 000000000..9be5f93b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclude.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit-fill.svg new file mode 100644 index 000000000..159d3654e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit.svg new file mode 100644 index 000000000..22a0ef46e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-fill.svg new file mode 100644 index 000000000..2697206ca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash-fill.svg new file mode 100644 index 000000000..933926287 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash.svg new file mode 100644 index 000000000..c5208375a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye.svg new file mode 100644 index 000000000..412ff6928 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyedropper.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyedropper.svg new file mode 100644 index 000000000..698d40ddb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyedropper.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyeglasses.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyeglasses.svg new file mode 100644 index 000000000..020d94327 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyeglasses.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/facebook.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/facebook.svg new file mode 100644 index 000000000..e8d1443db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/facebook.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fan.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fan.svg new file mode 100644 index 000000000..fab6eab8f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fan.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn-fill.svg new file mode 100644 index 000000000..9c9a1c6b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn.svg new file mode 100644 index 000000000..a3d605c7f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle-fill.svg new file mode 100644 index 000000000..aa5c37bbb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle.svg new file mode 100644 index 000000000..2eceb91a3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-fill.svg new file mode 100644 index 000000000..329cad062 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward.svg new file mode 100644 index 000000000..10643600e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down-fill.svg new file mode 100644 index 000000000..910fc07e3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down.svg new file mode 100644 index 000000000..6f75d5040 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up-fill.svg new file mode 100644 index 000000000..9dba20517 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up.svg new file mode 100644 index 000000000..223379e4d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph-fill.svg new file mode 100644 index 000000000..a0e31d6c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph.svg new file mode 100644 index 000000000..e66be6a9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary-fill.svg new file mode 100644 index 000000000..13343bfb7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary.svg new file mode 100644 index 000000000..7e667bcc2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break-fill.svg new file mode 100644 index 000000000..4eddc4a85 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break.svg new file mode 100644 index 000000000..b4485d7fc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check-fill.svg new file mode 100644 index 000000000..fb54b18c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check.svg new file mode 100644 index 000000000..142631140 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code-fill.svg new file mode 100644 index 000000000..ee2f0f6a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code.svg new file mode 100644 index 000000000..a8c390b65 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff-fill.svg new file mode 100644 index 000000000..945aef153 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff.svg new file mode 100644 index 000000000..dd848f04c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down-fill.svg new file mode 100644 index 000000000..0e960474a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down.svg new file mode 100644 index 000000000..81cc43ab6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up-fill.svg new file mode 100644 index 000000000..ce881cc89 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up.svg new file mode 100644 index 000000000..6cf324ab2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph-fill.svg new file mode 100644 index 000000000..7dc0df929 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph.svg new file mode 100644 index 000000000..eefb68770 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary-fill.svg new file mode 100644 index 000000000..1652562c8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary.svg new file mode 100644 index 000000000..e068bf6dd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break-fill.svg new file mode 100644 index 000000000..b36ea25af --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break.svg new file mode 100644 index 000000000..e98c6470a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check-fill.svg new file mode 100644 index 000000000..de7bf69d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check.svg new file mode 100644 index 000000000..f2fbf6657 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code-fill.svg new file mode 100644 index 000000000..c23a7b6b2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code.svg new file mode 100644 index 000000000..1b94a6aa4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff-fill.svg new file mode 100644 index 000000000..5f18a8870 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff.svg new file mode 100644 index 000000000..0b28667e3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel-fill.svg new file mode 100644 index 000000000..0743de43c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel.svg new file mode 100644 index 000000000..045fc870f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel-fill.svg new file mode 100644 index 000000000..2d492a8e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel.svg new file mode 100644 index 000000000..c40f16b24 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-fill.svg new file mode 100644 index 000000000..668247e31 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font-fill.svg new file mode 100644 index 000000000..c4fe9a455 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font.svg new file mode 100644 index 000000000..f7aad0bb9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image-fill.svg new file mode 100644 index 000000000..e568ee780 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image.svg new file mode 100644 index 000000000..1e1964b43 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock-fill.svg new file mode 100644 index 000000000..18a7fb717 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock.svg new file mode 100644 index 000000000..b15ec6a65 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2-fill.svg new file mode 100644 index 000000000..828a545a2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2.svg new file mode 100644 index 000000000..cf76d3fab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical-fill.svg new file mode 100644 index 000000000..ed5f6bc1e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical.svg new file mode 100644 index 000000000..6fa8a39f3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus-fill.svg new file mode 100644 index 000000000..25e708ff1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus.svg new file mode 100644 index 000000000..e87b163c2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music-fill.svg new file mode 100644 index 000000000..c64c79789 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music.svg new file mode 100644 index 000000000..cc25eb99b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf-fill.svg new file mode 100644 index 000000000..0ba21ab3f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf.svg new file mode 100644 index 000000000..52da96fe4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person-fill.svg new file mode 100644 index 000000000..29a81294a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person.svg new file mode 100644 index 000000000..59a6a2a39 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play-fill.svg new file mode 100644 index 000000000..80731db8a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play.svg new file mode 100644 index 000000000..62042ab52 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus-fill.svg new file mode 100644 index 000000000..6cead3a48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus.svg new file mode 100644 index 000000000..92840267f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post-fill.svg new file mode 100644 index 000000000..0c0e7b87c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post.svg new file mode 100644 index 000000000..1f0d4359f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt-fill.svg new file mode 100644 index 000000000..68e97930f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt.svg new file mode 100644 index 000000000..bedf55261 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext-fill.svg new file mode 100644 index 000000000..e5c82ee75 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext.svg new file mode 100644 index 000000000..35af14671 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled-fill.svg new file mode 100644 index 000000000..43aecce83 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled.svg new file mode 100644 index 000000000..4f288581f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides-fill.svg new file mode 100644 index 000000000..98b59df53 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides.svg new file mode 100644 index 000000000..2d97fa7f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet-fill.svg new file mode 100644 index 000000000..9a71e732d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet.svg new file mode 100644 index 000000000..a111232b0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text-fill.svg new file mode 100644 index 000000000..b32991979 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text.svg new file mode 100644 index 000000000..0d60c7957 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word-fill.svg new file mode 100644 index 000000000..717b0497b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word.svg new file mode 100644 index 000000000..7186b69ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x-fill.svg new file mode 100644 index 000000000..a19d14b9c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x.svg new file mode 100644 index 000000000..bedb970d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip-fill.svg new file mode 100644 index 000000000..b92ff9a52 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip.svg new file mode 100644 index 000000000..b82afcc35 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark.svg new file mode 100644 index 000000000..c3d086b9c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel-fill.svg new file mode 100644 index 000000000..e1122e5ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel.svg new file mode 100644 index 000000000..c6d6a4deb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel-fill.svg new file mode 100644 index 000000000..350a7df8c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel.svg new file mode 100644 index 000000000..0f43afe2a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-fill.svg new file mode 100644 index 000000000..a1f4de09a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font-fill.svg new file mode 100644 index 000000000..198a2591d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font.svg new file mode 100644 index 000000000..1d67f5e78 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image-fill.svg new file mode 100644 index 000000000..f4e81abaa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image.svg new file mode 100644 index 000000000..127fd8963 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock-fill.svg new file mode 100644 index 000000000..a14dafc13 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock.svg new file mode 100644 index 000000000..4206978a4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2-fill.svg new file mode 100644 index 000000000..a68a5d42f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2.svg new file mode 100644 index 000000000..134f7473d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical-fill.svg new file mode 100644 index 000000000..6caf0a323 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical.svg new file mode 100644 index 000000000..afec18e97 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus-fill.svg new file mode 100644 index 000000000..85d99997a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus.svg new file mode 100644 index 000000000..67a45381d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music-fill.svg new file mode 100644 index 000000000..c7dfa82f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music.svg new file mode 100644 index 000000000..6531a959c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf-fill.svg new file mode 100644 index 000000000..87543f552 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf.svg new file mode 100644 index 000000000..e8ba0a157 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person-fill.svg new file mode 100644 index 000000000..d7e05e401 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person.svg new file mode 100644 index 000000000..892800ad9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play-fill.svg new file mode 100644 index 000000000..838dda9ef --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play.svg new file mode 100644 index 000000000..fef9adf45 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus-fill.svg new file mode 100644 index 000000000..1730c276e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus.svg new file mode 100644 index 000000000..d0ef464ac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post-fill.svg new file mode 100644 index 000000000..c3fc7e05b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post.svg new file mode 100644 index 000000000..dd8aefc20 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt-fill.svg new file mode 100644 index 000000000..3d3ac35b1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt.svg new file mode 100644 index 000000000..0100d0b24 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext-fill.svg new file mode 100644 index 000000000..64c1fc832 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext.svg new file mode 100644 index 000000000..22edf68c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled-fill.svg new file mode 100644 index 000000000..f93c25577 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled.svg new file mode 100644 index 000000000..431b4eb55 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides-fill.svg new file mode 100644 index 000000000..e8cb12ad1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides.svg new file mode 100644 index 000000000..df3f65d98 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet-fill.svg new file mode 100644 index 000000000..a3977e189 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet.svg new file mode 100644 index 000000000..e83e73350 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text-fill.svg new file mode 100644 index 000000000..29c9fc471 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text.svg new file mode 100644 index 000000000..fa1e86118 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word-fill.svg new file mode 100644 index 000000000..2df1fca25 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word.svg new file mode 100644 index 000000000..61a96c238 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x-fill.svg new file mode 100644 index 000000000..980e40528 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x.svg new file mode 100644 index 000000000..1fe66e61a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip-fill.svg new file mode 100644 index 000000000..95d3966fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip.svg new file mode 100644 index 000000000..3da93c8ce --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file.svg new file mode 100644 index 000000000..3562fb2b2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files-alt.svg new file mode 100644 index 000000000..1d4d06931 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files-alt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files.svg new file mode 100644 index 000000000..f8842f89b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-aac.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-aac.svg new file mode 100644 index 000000000..8a2d02ace --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-aac.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ai.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ai.svg new file mode 100644 index 000000000..23e2ebc70 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ai.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-bmp.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-bmp.svg new file mode 100644 index 000000000..acf902f7d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-bmp.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-cs.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-cs.svg new file mode 100644 index 000000000..fb76aecbd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-cs.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-css.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-css.svg new file mode 100644 index 000000000..da12ac651 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-css.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-csv.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-csv.svg new file mode 100644 index 000000000..efda95c3b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-csv.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-doc.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-doc.svg new file mode 100644 index 000000000..14fb54453 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-doc.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-docx.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-docx.svg new file mode 100644 index 000000000..29a54ffec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-docx.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-exe.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-exe.svg new file mode 100644 index 000000000..2c4bea4dc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-exe.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-gif.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-gif.svg new file mode 100644 index 000000000..6b016d854 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-gif.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-heic.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-heic.svg new file mode 100644 index 000000000..dcdb6f1f0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-heic.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-html.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-html.svg new file mode 100644 index 000000000..35d721856 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-html.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-java.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-java.svg new file mode 100644 index 000000000..c9dc543c8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-java.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jpg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jpg.svg new file mode 100644 index 000000000..5e4ae64c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jpg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-js.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-js.svg new file mode 100644 index 000000000..8b198bfcd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-js.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-json.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-json.svg new file mode 100644 index 000000000..2b9d988f8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-json.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jsx.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jsx.svg new file mode 100644 index 000000000..c23ba4c33 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jsx.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-key.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-key.svg new file mode 100644 index 000000000..5b980500e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-key.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-m4p.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-m4p.svg new file mode 100644 index 000000000..a10dc24ab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-m4p.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-md.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-md.svg new file mode 100644 index 000000000..ca5cd597d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-md.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mdx.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mdx.svg new file mode 100644 index 000000000..e8774d2e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mdx.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mov.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mov.svg new file mode 100644 index 000000000..9f05d6378 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mov.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp3.svg new file mode 100644 index 000000000..017035126 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp4.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp4.svg new file mode 100644 index 000000000..997c427a7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp4.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-otf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-otf.svg new file mode 100644 index 000000000..44d0c8eee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-otf.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pdf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pdf.svg new file mode 100644 index 000000000..e1fc9b698 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pdf.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-php.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-php.svg new file mode 100644 index 000000000..422cc2df9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-php.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-png.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-png.svg new file mode 100644 index 000000000..f719344ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-png.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ppt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ppt.svg new file mode 100644 index 000000000..cfaaf1b17 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ppt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pptx.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pptx.svg new file mode 100644 index 000000000..88ef36906 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pptx.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-psd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-psd.svg new file mode 100644 index 000000000..cfcb13b08 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-psd.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-py.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-py.svg new file mode 100644 index 000000000..654df7050 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-py.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-raw.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-raw.svg new file mode 100644 index 000000000..fdbeefcca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-raw.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-rb.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-rb.svg new file mode 100644 index 000000000..e3387b4f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-rb.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sass.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sass.svg new file mode 100644 index 000000000..5ff5ae5bd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sass.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-scss.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-scss.svg new file mode 100644 index 000000000..68f195afa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-scss.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sh.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sh.svg new file mode 100644 index 000000000..200fae418 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sh.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sql.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sql.svg new file mode 100644 index 000000000..b523b3760 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sql.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-svg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-svg.svg new file mode 100644 index 000000000..ea1264c76 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-svg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tiff.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tiff.svg new file mode 100644 index 000000000..d6f9e9be5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tiff.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tsx.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tsx.svg new file mode 100644 index 000000000..cef1dc4ff --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tsx.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ttf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ttf.svg new file mode 100644 index 000000000..549d4df1d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ttf.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-txt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-txt.svg new file mode 100644 index 000000000..6fae02a04 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-txt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-wav.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-wav.svg new file mode 100644 index 000000000..bd226e8ef --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-wav.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-woff.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-woff.svg new file mode 100644 index 000000000..d8ec58255 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-woff.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xls.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xls.svg new file mode 100644 index 000000000..9c266cdc2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xls.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xlsx.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xlsx.svg new file mode 100644 index 000000000..a1aa80243 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xlsx.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xml.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xml.svg new file mode 100644 index 000000000..d82264553 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xml.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-yml.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-yml.svg new file mode 100644 index 000000000..e8bf63d22 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-yml.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/film.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/film.svg new file mode 100644 index 000000000..5cef9395b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/film.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle-fill.svg new file mode 100644 index 000000000..f60fd59f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle.svg new file mode 100644 index 000000000..bbdc85f86 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-left.svg new file mode 100644 index 000000000..22441de5e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-right.svg new file mode 100644 index 000000000..466a9b1c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square-fill.svg new file mode 100644 index 000000000..f8813b8c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square.svg new file mode 100644 index 000000000..ae8c837f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter.svg new file mode 100644 index 000000000..555c61259 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fingerprint.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fingerprint.svg new file mode 100644 index 000000000..3cf204231 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fingerprint.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fire.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fire.svg new file mode 100644 index 000000000..f702837cc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fire.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag-fill.svg new file mode 100644 index 000000000..73fffc250 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag.svg new file mode 100644 index 000000000..357c48136 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower1.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower1.svg new file mode 100644 index 000000000..08a7e2e68 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower1.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower2.svg new file mode 100644 index 000000000..d793728b3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower3.svg new file mode 100644 index 000000000..147e32fcf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-check.svg new file mode 100644 index 000000000..d59955499 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-fill.svg new file mode 100644 index 000000000..fd10c8e6c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-minus.svg new file mode 100644 index 000000000..f41b6601b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-plus.svg new file mode 100644 index 000000000..29b5115ac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink-fill.svg new file mode 100644 index 000000000..91dc0c015 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink.svg new file mode 100644 index 000000000..b258b6aa0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-x.svg new file mode 100644 index 000000000..d571d0854 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder.svg new file mode 100644 index 000000000..fd4dc5aa7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2-open.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2-open.svg new file mode 100644 index 000000000..59d8382f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2-open.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2.svg new file mode 100644 index 000000000..414575325 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fonts.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fonts.svg new file mode 100644 index 000000000..3afc7d2ea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fonts.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward-fill.svg new file mode 100644 index 000000000..7f2839b29 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward.svg new file mode 100644 index 000000000..4b856141f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/front.svg new file mode 100644 index 000000000..d1edeb1f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/front.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel-fill.svg new file mode 100644 index 000000000..824913cd2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel.svg new file mode 100644 index 000000000..ad24a929b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-fill.svg new file mode 100644 index 000000000..515452311 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump.svg new file mode 100644 index 000000000..f4742f5b3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen-exit.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen-exit.svg new file mode 100644 index 000000000..b9bdb1b16 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen-exit.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen.svg new file mode 100644 index 000000000..7789d36bd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel-fill.svg new file mode 100644 index 000000000..5f16f16ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel.svg new file mode 100644 index 000000000..d027aa5cb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-fill.svg new file mode 100644 index 000000000..2aa36a1d5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide-connected.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide-connected.svg new file mode 100644 index 000000000..fc196dd70 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide-connected.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide.svg new file mode 100644 index 000000000..83194ce45 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear.svg new file mode 100644 index 000000000..c11dbc1db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gem.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gem.svg new file mode 100644 index 000000000..360d55499 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gem.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-ambiguous.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-ambiguous.svg new file mode 100644 index 000000000..2ffaf112e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-ambiguous.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-female.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-female.svg new file mode 100644 index 000000000..102783cca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-female.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-male.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-male.svg new file mode 100644 index 000000000..b0aee1d18 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-male.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-trans.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-trans.svg new file mode 100644 index 000000000..4c4c074a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-trans.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt-fill.svg new file mode 100644 index 000000000..e88b77b6b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt.svg new file mode 100644 index 000000000..40927941a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-fill.svg new file mode 100644 index 000000000..a53f2bdf7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo.svg new file mode 100644 index 000000000..6686fea98 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift-fill.svg new file mode 100644 index 000000000..69f337939 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift.svg new file mode 100644 index 000000000..663b87e30 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/git.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/git.svg new file mode 100644 index 000000000..092d23e98 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/git.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/github.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/github.svg new file mode 100644 index 000000000..bb4e45cec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/github.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-americas.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-americas.svg new file mode 100644 index 000000000..f66f5feaf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-americas.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-asia-australia.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-asia-australia.svg new file mode 100644 index 000000000..e4715f1ef --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-asia-australia.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-central-south-asia.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-central-south-asia.svg new file mode 100644 index 000000000..d4699d2e3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-central-south-asia.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-europe-africa.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-europe-africa.svg new file mode 100644 index 000000000..3bd6c49ee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-europe-africa.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe.svg new file mode 100644 index 000000000..96cf81571 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe2.svg new file mode 100644 index 000000000..150a01ebf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google-play.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google-play.svg new file mode 100644 index 000000000..a970e9a0e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google-play.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google.svg new file mode 100644 index 000000000..47abd4929 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gpu-card.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gpu-card.svg new file mode 100644 index 000000000..b75ddcee7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gpu-card.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down-arrow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down-arrow.svg new file mode 100644 index 000000000..bf522b566 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down-arrow.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down.svg new file mode 100644 index 000000000..55adb4f24 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up-arrow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up-arrow.svg new file mode 100644 index 000000000..fd582e467 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up-arrow.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up.svg new file mode 100644 index 000000000..a68bc9db1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2-fill.svg new file mode 100644 index 000000000..119511763 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2.svg new file mode 100644 index 000000000..dd36f54c8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap-fill.svg new file mode 100644 index 000000000..4fe82884c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap.svg new file mode 100644 index 000000000..a9e8689d3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2.svg new file mode 100644 index 000000000..6dd39fde8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap-fill.svg new file mode 100644 index 000000000..d29616c75 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap.svg new file mode 100644 index 000000000..675f4288c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3.svg new file mode 100644 index 000000000..c40d98c96 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-fill.svg new file mode 100644 index 000000000..202265ff8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid.svg new file mode 100644 index 000000000..bc505957f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-horizontal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-horizontal.svg new file mode 100644 index 000000000..c4439afec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-horizontal.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-vertical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-vertical.svg new file mode 100644 index 000000000..0182ad918 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-vertical.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle-fill.svg new file mode 100644 index 000000000..6a7073605 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle.svg new file mode 100644 index 000000000..6579c1f85 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square-fill.svg new file mode 100644 index 000000000..51d11d119 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square.svg new file mode 100644 index 000000000..2eac5d72b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hammer.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hammer.svg new file mode 100644 index 000000000..d702c1156 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hammer.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-fill.svg new file mode 100644 index 000000000..ef94089fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb-fill.svg new file mode 100644 index 000000000..43e958c92 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb.svg new file mode 100644 index 000000000..699e5057b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index.svg new file mode 100644 index 000000000..789622c82 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down-fill.svg new file mode 100644 index 000000000..c2f51ebab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down.svg new file mode 100644 index 000000000..e8dadb5ba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up-fill.svg new file mode 100644 index 000000000..e7216e196 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up.svg new file mode 100644 index 000000000..0d410a161 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag-fill.svg new file mode 100644 index 000000000..5d4367c79 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag.svg new file mode 100644 index 000000000..99e5904d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hash.svg new file mode 100644 index 000000000..4621b1dac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-fill.svg new file mode 100644 index 000000000..9bdc467e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network-fill.svg new file mode 100644 index 000000000..403d47230 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network.svg new file mode 100644 index 000000000..f0db30504 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack-fill.svg new file mode 100644 index 000000000..bb450781f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack.svg new file mode 100644 index 000000000..480d0d90b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack-fill.svg new file mode 100644 index 000000000..c81687ab9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack.svg new file mode 100644 index 000000000..2f74d3b06 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd.svg new file mode 100644 index 000000000..7dd670038 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi-fill.svg new file mode 100644 index 000000000..9b52d61e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi.svg new file mode 100644 index 000000000..b8a4b416f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headphones.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headphones.svg new file mode 100644 index 000000000..c2c1d6fe1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headphones.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset-vr.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset-vr.svg new file mode 100644 index 000000000..9f07b76ca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset-vr.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset.svg new file mode 100644 index 000000000..536997442 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-arrow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-arrow.svg new file mode 100644 index 000000000..0407ed6e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-arrow.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-fill.svg new file mode 100644 index 000000000..4026252e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-half.svg new file mode 100644 index 000000000..1474a7251 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse-fill.svg new file mode 100644 index 000000000..278e9e284 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse.svg new file mode 100644 index 000000000..bddedceba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart.svg new file mode 100644 index 000000000..d650006d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak-fill.svg new file mode 100644 index 000000000..9c3103910 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak.svg new file mode 100644 index 000000000..b59b4c68d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hearts.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hearts.svg new file mode 100644 index 000000000..c1c52e418 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hearts.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-fill.svg new file mode 100644 index 000000000..ad8e05864 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-half.svg new file mode 100644 index 000000000..5753b6287 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon.svg new file mode 100644 index 000000000..e85a0bd38 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-fill.svg new file mode 100644 index 000000000..afd7870eb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-half.svg new file mode 100644 index 000000000..a9fc13683 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon.svg new file mode 100644 index 000000000..f6601f2ba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital-fill.svg new file mode 100644 index 000000000..a93213326 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital.svg new file mode 100644 index 000000000..5168a2992 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-bottom.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-bottom.svg new file mode 100644 index 000000000..8ce8394ad --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-bottom.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-split.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-split.svg new file mode 100644 index 000000000..b8bba9b66 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-split.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-top.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-top.svg new file mode 100644 index 000000000..f471084de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-top.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass.svg new file mode 100644 index 000000000..cecfa7e60 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add-fill.svg new file mode 100644 index 000000000..e4733b5fd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add.svg new file mode 100644 index 000000000..2964397cb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check-fill.svg new file mode 100644 index 000000000..75463428d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check.svg new file mode 100644 index 000000000..a30080a9e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash-fill.svg new file mode 100644 index 000000000..5465ef46e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash.svg new file mode 100644 index 000000000..fa6fb26bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door-fill.svg new file mode 100644 index 000000000..ff9f4dbd2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door.svg new file mode 100644 index 000000000..c883f3487 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down-fill.svg new file mode 100644 index 000000000..d3bf68f0e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down.svg new file mode 100644 index 000000000..6de3d7967 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation-fill.svg new file mode 100644 index 000000000..743373834 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation.svg new file mode 100644 index 000000000..301d9818b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-fill.svg new file mode 100644 index 000000000..e782589df --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear-fill.svg new file mode 100644 index 000000000..001ea96aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear.svg new file mode 100644 index 000000000..c7f9d4308 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart-fill.svg new file mode 100644 index 000000000..6d874fc1e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart.svg new file mode 100644 index 000000000..26b239529 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock-fill.svg new file mode 100644 index 000000000..842b91439 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock.svg new file mode 100644 index 000000000..e6eb9681d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash-fill.svg new file mode 100644 index 000000000..20ea07b98 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash.svg new file mode 100644 index 000000000..3e1cb66bf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up-fill.svg new file mode 100644 index 000000000..3e6713e7b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up.svg new file mode 100644 index 000000000..0a8deb315 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x-fill.svg new file mode 100644 index 000000000..00483c40b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x.svg new file mode 100644 index 000000000..88b2825ba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house.svg new file mode 100644 index 000000000..7baa23d29 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses-fill.svg new file mode 100644 index 000000000..30a72d88c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses.svg new file mode 100644 index 000000000..d66b4da34 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hr.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hr.svg new file mode 100644 index 000000000..b6f2e3378 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hr.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hurricane.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hurricane.svg new file mode 100644 index 000000000..e21aaec5d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hurricane.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hypnotize.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hypnotize.svg new file mode 100644 index 000000000..baa2298d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hypnotize.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-alt.svg new file mode 100644 index 000000000..98142b22d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-alt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-fill.svg new file mode 100644 index 000000000..33c40a13a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image.svg new file mode 100644 index 000000000..facacee61 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/images.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/images.svg new file mode 100644 index 000000000..b35ecebcb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/images.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox-fill.svg new file mode 100644 index 000000000..bf5c8c912 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox.svg new file mode 100644 index 000000000..59ad2d777 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes-fill.svg new file mode 100644 index 000000000..27447dc33 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes.svg new file mode 100644 index 000000000..f23f0ec5e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/incognito.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/incognito.svg new file mode 100644 index 000000000..fc9f6dced --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/incognito.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/indent.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/indent.svg new file mode 100644 index 000000000..025acef29 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/indent.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/infinity.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/infinity.svg new file mode 100644 index 000000000..e9dd437b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/infinity.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle-fill.svg new file mode 100644 index 000000000..9d38231fc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle.svg new file mode 100644 index 000000000..8f48f86cb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-lg.svg new file mode 100644 index 000000000..d1b988e0e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square-fill.svg new file mode 100644 index 000000000..c2e5a6636 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square.svg new file mode 100644 index 000000000..71e2818f5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info.svg new file mode 100644 index 000000000..9d061b4d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor-text.svg new file mode 100644 index 000000000..f2121113b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor.svg new file mode 100644 index 000000000..3a89bb7ee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/instagram.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/instagram.svg new file mode 100644 index 000000000..0b5c5cef0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/instagram.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/intersect.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/intersect.svg new file mode 100644 index 000000000..2d8c32951 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/intersect.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-album.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-album.svg new file mode 100644 index 000000000..2504b3d43 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-album.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-down.svg new file mode 100644 index 000000000..79c313d8d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-down.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-up.svg new file mode 100644 index 000000000..84234612a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-up.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark-fill.svg new file mode 100644 index 000000000..03e247667 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark.svg new file mode 100644 index 000000000..665276438 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-check.svg new file mode 100644 index 000000000..41b97e94d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-check.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-code.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-code.svg new file mode 100644 index 000000000..82098b9c2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-code.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-medical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-medical.svg new file mode 100644 index 000000000..5500110ab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-medical.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-minus.svg new file mode 100644 index 000000000..c8cd4d844 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-minus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-plus.svg new file mode 100644 index 000000000..fa6d7026c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-plus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-richtext.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-richtext.svg new file mode 100644 index 000000000..14b0e1f00 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-richtext.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-text.svg new file mode 100644 index 000000000..9b66f43aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-text.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-x.svg new file mode 100644 index 000000000..2ca24f46e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-x.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal.svg new file mode 100644 index 000000000..941c98783 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journals.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journals.svg new file mode 100644 index 000000000..03f6dad8f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journals.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/joystick.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/joystick.svg new file mode 100644 index 000000000..a8a902743 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/joystick.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-left.svg new file mode 100644 index 000000000..68859b8ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-right.svg new file mode 100644 index 000000000..1efe4f389 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify.svg new file mode 100644 index 000000000..009bd7214 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban-fill.svg new file mode 100644 index 000000000..d633a5383 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban.svg new file mode 100644 index 000000000..c5cdaaf55 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key-fill.svg new file mode 100644 index 000000000..25a6d45a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key.svg new file mode 100644 index 000000000..dbaae3fad --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard-fill.svg new file mode 100644 index 000000000..876321d24 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard.svg new file mode 100644 index 000000000..996c1ebab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ladder.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ladder.svg new file mode 100644 index 000000000..fd9182ab0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ladder.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp-fill.svg new file mode 100644 index 000000000..ff91f4ba3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp.svg new file mode 100644 index 000000000..6c50a70c2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop-fill.svg new file mode 100644 index 000000000..5b1755dac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop.svg new file mode 100644 index 000000000..0fc463deb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-backward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-backward.svg new file mode 100644 index 000000000..073034ac2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-backward.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-forward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-forward.svg new file mode 100644 index 000000000..ffc6e2aac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-forward.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-fill.svg new file mode 100644 index 000000000..8af0b1cfb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-half.svg new file mode 100644 index 000000000..a054e25a0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers.svg new file mode 100644 index 000000000..ac2f5b297 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset-reverse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset-reverse.svg new file mode 100644 index 000000000..5b6f32460 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset-reverse.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset.svg new file mode 100644 index 000000000..8dc0243ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-reverse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-reverse.svg new file mode 100644 index 000000000..8ab950907 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-reverse.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar.svg new file mode 100644 index 000000000..1cfc86e1c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-split.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-split.svg new file mode 100644 index 000000000..71f33d2e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-split.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar-reverse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar-reverse.svg new file mode 100644 index 000000000..46252d574 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar-reverse.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar.svg new file mode 100644 index 000000000..5effada29 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window-reverse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window-reverse.svg new file mode 100644 index 000000000..fb3484090 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window-reverse.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window.svg new file mode 100644 index 000000000..0aef11070 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-three-columns.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-three-columns.svg new file mode 100644 index 000000000..6d358d6d5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-three-columns.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-wtf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-wtf.svg new file mode 100644 index 000000000..b603f8f3f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-wtf.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/life-preserver.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/life-preserver.svg new file mode 100644 index 000000000..6466ea24b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/life-preserver.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-fill.svg new file mode 100644 index 000000000..99039504b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off-fill.svg new file mode 100644 index 000000000..7d9600e48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off.svg new file mode 100644 index 000000000..5675e9c55 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb.svg new file mode 100644 index 000000000..c13f62783 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge-fill.svg new file mode 100644 index 000000000..5e197fb54 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge.svg new file mode 100644 index 000000000..8a97432e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-fill.svg new file mode 100644 index 000000000..4d05a2b83 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning.svg new file mode 100644 index 000000000..873706082 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/line.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/line.svg new file mode 100644 index 000000000..bedc051be --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/line.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link-45deg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link-45deg.svg new file mode 100644 index 000000000..127956a47 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link-45deg.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link.svg new file mode 100644 index 000000000..df35bc8a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/linkedin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/linkedin.svg new file mode 100644 index 000000000..4c4efe595 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/linkedin.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-check.svg new file mode 100644 index 000000000..34dd42068 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-check.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns-reverse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns-reverse.svg new file mode 100644 index 000000000..2cb507860 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns-reverse.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns.svg new file mode 100644 index 000000000..d04a30f33 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-nested.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-nested.svg new file mode 100644 index 000000000..21c9a7d24 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-nested.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ol.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ol.svg new file mode 100644 index 000000000..5782568d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ol.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-stars.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-stars.svg new file mode 100644 index 000000000..88dce521b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-stars.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-task.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-task.svg new file mode 100644 index 000000000..81181905c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-task.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ul.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ul.svg new file mode 100644 index 000000000..217d1539c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ul.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list.svg new file mode 100644 index 000000000..e039056ea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock-fill.svg new file mode 100644 index 000000000..9fb8f7b80 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock.svg new file mode 100644 index 000000000..b50a68ef1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs-fill.svg new file mode 100644 index 000000000..430b0282d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs.svg new file mode 100644 index 000000000..53708525c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magic.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magic.svg new file mode 100644 index 000000000..3df2ec0b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magic.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet-fill.svg new file mode 100644 index 000000000..9ca186521 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet.svg new file mode 100644 index 000000000..aab17635d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox.svg new file mode 100644 index 000000000..e2ac2f978 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox2.svg new file mode 100644 index 000000000..60a523bba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map-fill.svg new file mode 100644 index 000000000..6097c5f41 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map.svg new file mode 100644 index 000000000..f9dbb0846 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown-fill.svg new file mode 100644 index 000000000..b87e236c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown.svg new file mode 100644 index 000000000..f9933a603 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mask.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mask.svg new file mode 100644 index 000000000..3bfe141c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mask.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mastodon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mastodon.svg new file mode 100644 index 000000000..23b34f5c0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mastodon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/medium.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/medium.svg new file mode 100644 index 000000000..cc4687653 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/medium.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone-fill.svg new file mode 100644 index 000000000..237e81467 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone.svg new file mode 100644 index 000000000..834083c19 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/memory.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/memory.svg new file mode 100644 index 000000000..cdc2943f7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/memory.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app-fill.svg new file mode 100644 index 000000000..c41c6fbf8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app.svg new file mode 100644 index 000000000..36e57dfa1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-fill.svg new file mode 100644 index 000000000..034b64d73 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide-fill.svg new file mode 100644 index 000000000..d6e17da08 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide.svg new file mode 100644 index 000000000..d67ba6a23 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button.svg new file mode 100644 index 000000000..4e0fff930 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-down.svg new file mode 100644 index 000000000..b2d84b24e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-up.svg new file mode 100644 index 000000000..fb35e8db7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/messenger.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/messenger.svg new file mode 100644 index 000000000..5c6d37d4b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/messenger.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/meta.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/meta.svg new file mode 100644 index 000000000..2c6885d7a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/meta.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-fill.svg new file mode 100644 index 000000000..9be58e9d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute-fill.svg new file mode 100644 index 000000000..cc325a0ce --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute.svg new file mode 100644 index 000000000..5a520a12f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic.svg new file mode 100644 index 000000000..57be2e560 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft-teams.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft-teams.svg new file mode 100644 index 000000000..e0cc253e5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft-teams.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft.svg new file mode 100644 index 000000000..d28281f1c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart-loaded.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart-loaded.svg new file mode 100644 index 000000000..8a754571f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart-loaded.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart.svg new file mode 100644 index 000000000..7f3ad000c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem-fill.svg new file mode 100644 index 000000000..1fe97bef5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem.svg new file mode 100644 index 000000000..873090dd8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moisture.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moisture.svg new file mode 100644 index 000000000..732f4ac2a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moisture.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-fill.svg new file mode 100644 index 000000000..1149676d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars-fill.svg new file mode 100644 index 000000000..d2e1d6ed5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars.svg new file mode 100644 index 000000000..b25ef8632 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon.svg new file mode 100644 index 000000000..4cd882028 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard-fill.svg new file mode 100644 index 000000000..7f5fb4842 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard.svg new file mode 100644 index 000000000..ed82b6aa8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard-fill.svg new file mode 100644 index 000000000..bf15e965b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard.svg new file mode 100644 index 000000000..ed13d0c1a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse-fill.svg new file mode 100644 index 000000000..bd0b5eb4d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse.svg new file mode 100644 index 000000000..40976e061 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2-fill.svg new file mode 100644 index 000000000..283d1cde3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2.svg new file mode 100644 index 000000000..359da4d39 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3-fill.svg new file mode 100644 index 000000000..de6dbc7a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3.svg new file mode 100644 index 000000000..d042bfd3a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-beamed.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-beamed.svg new file mode 100644 index 000000000..04cedf09d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-beamed.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-list.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-list.svg new file mode 100644 index 000000000..5c306bd8f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-list.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note.svg new file mode 100644 index 000000000..1125a6627 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player-fill.svg new file mode 100644 index 000000000..6619d1e7a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player.svg new file mode 100644 index 000000000..2d50a6353 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/newspaper.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/newspaper.svg new file mode 100644 index 000000000..7d7fa7169 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/newspaper.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nintendo-switch.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nintendo-switch.svg new file mode 100644 index 000000000..0f1e2ac64 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nintendo-switch.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus-fill.svg new file mode 100644 index 000000000..32430b925 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus.svg new file mode 100644 index 000000000..b1accd4af --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus-fill.svg new file mode 100644 index 000000000..e5ee855c2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus.svg new file mode 100644 index 000000000..085f04fe6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut-fill.svg new file mode 100644 index 000000000..4babc0339 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut.svg new file mode 100644 index 000000000..4912d489d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nvidia.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nvidia.svg new file mode 100644 index 000000000..649204656 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nvidia.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-fill.svg new file mode 100644 index 000000000..c1283178d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-half.svg new file mode 100644 index 000000000..d95240ac5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon.svg new file mode 100644 index 000000000..9f3657ed9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio-fill.svg new file mode 100644 index 000000000..5bdfd8227 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio.svg new file mode 100644 index 000000000..7a38b83e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/option.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/option.svg new file mode 100644 index 000000000..d7702b107 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/option.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/outlet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/outlet.svg new file mode 100644 index 000000000..b48af60de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/outlet.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle-fill.svg new file mode 100644 index 000000000..ea54307fc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle.svg new file mode 100644 index 000000000..888a1fad1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square-fill.svg new file mode 100644 index 000000000..ad3caa203 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square.svg new file mode 100644 index 000000000..ad630d047 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paint-bucket.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paint-bucket.svg new file mode 100644 index 000000000..ee15d10f5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paint-bucket.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette-fill.svg new file mode 100644 index 000000000..7dc5ecda5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette.svg new file mode 100644 index 000000000..fea76d92d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette2.svg new file mode 100644 index 000000000..5d140b31d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paperclip.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paperclip.svg new file mode 100644 index 000000000..00f311d60 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paperclip.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paragraph.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paragraph.svg new file mode 100644 index 000000000..999cb5327 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paragraph.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass-fill.svg new file mode 100644 index 000000000..a5715df48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass.svg new file mode 100644 index 000000000..3f51eb5df --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check-fill.svg new file mode 100644 index 000000000..13014151d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check.svg new file mode 100644 index 000000000..2dd799ee1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation-fill.svg new file mode 100644 index 000000000..fd900c4e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation.svg new file mode 100644 index 000000000..153d97dda --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus-fill.svg new file mode 100644 index 000000000..12f35c23b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus.svg new file mode 100644 index 000000000..f6024f979 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus-fill.svg new file mode 100644 index 000000000..1a79d799e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus.svg new file mode 100644 index 000000000..b9a78461b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question-fill.svg new file mode 100644 index 000000000..665588b3c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question.svg new file mode 100644 index 000000000..ef4ca58e5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn-fill.svg new file mode 100644 index 000000000..efca14289 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn.svg new file mode 100644 index 000000000..0e9eb3a1d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle-fill.svg new file mode 100644 index 000000000..5e3525f4a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle.svg new file mode 100644 index 000000000..1b6b64afb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-fill.svg new file mode 100644 index 000000000..68285b2fe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause.svg new file mode 100644 index 000000000..22478eafc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paypal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paypal.svg new file mode 100644 index 000000000..41bd53661 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paypal.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display-horizontal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display-horizontal.svg new file mode 100644 index 000000000..2013f1557 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display-horizontal.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display.svg new file mode 100644 index 000000000..f5d09dafb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-horizontal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-horizontal.svg new file mode 100644 index 000000000..9ae513a13 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-horizontal.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc.svg new file mode 100644 index 000000000..f0f280d6c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pci-card.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pci-card.svg new file mode 100644 index 000000000..600a5d064 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pci-card.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace-fill.svg new file mode 100644 index 000000000..c8ed5bdd3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace.svg new file mode 100644 index 000000000..3e4420b06 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen-fill.svg new file mode 100644 index 000000000..b7bb33718 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen.svg new file mode 100644 index 000000000..8eb3be7d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-fill.svg new file mode 100644 index 000000000..59d2830c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-square.svg new file mode 100644 index 000000000..b8c90d542 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil.svg new file mode 100644 index 000000000..f8dbfebca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-fill.svg new file mode 100644 index 000000000..9c8078906 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-half.svg new file mode 100644 index 000000000..305125cb3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon.svg new file mode 100644 index 000000000..b6f5fe300 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people-fill.svg new file mode 100644 index 000000000..2c7389d23 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people.svg new file mode 100644 index 000000000..528933d15 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/percent.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/percent.svg new file mode 100644 index 000000000..8af2bc4d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/percent.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-add.svg new file mode 100644 index 000000000..cd9f071cd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-add.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge-fill.svg new file mode 100644 index 000000000..d9ebe6723 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge.svg new file mode 100644 index 000000000..d071d44bd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-bounding-box.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-bounding-box.svg new file mode 100644 index 000000000..92e662c9d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-bounding-box.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check-fill.svg new file mode 100644 index 000000000..872497a65 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check.svg new file mode 100644 index 000000000..c4b1e38bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-circle.svg new file mode 100644 index 000000000..fd7f2c92a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash-fill.svg new file mode 100644 index 000000000..fd719f20d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash.svg new file mode 100644 index 000000000..4c6cb7901 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-down.svg new file mode 100644 index 000000000..00489b95d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-exclamation.svg new file mode 100644 index 000000000..ceb698ac6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-add.svg new file mode 100644 index 000000000..4383a8528 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-add.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-check.svg new file mode 100644 index 000000000..0bb8ee469 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-dash.svg new file mode 100644 index 000000000..d2cdec55d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-down.svg new file mode 100644 index 000000000..a1cfcdcd6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-exclamation.svg new file mode 100644 index 000000000..59cfd6ff9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-gear.svg new file mode 100644 index 000000000..f91006b6c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-gear.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-lock.svg new file mode 100644 index 000000000..8af5ee145 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-lock.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-slash.svg new file mode 100644 index 000000000..ede8fa429 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-slash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-up.svg new file mode 100644 index 000000000..be73bf27b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-x.svg new file mode 100644 index 000000000..959fcee45 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill.svg new file mode 100644 index 000000000..6e1276872 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-gear.svg new file mode 100644 index 000000000..8024d86c7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-gear.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-heart.svg new file mode 100644 index 000000000..e9ebbf48e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-hearts.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-hearts.svg new file mode 100644 index 000000000..06970be92 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-hearts.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lines-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lines-fill.svg new file mode 100644 index 000000000..736421c59 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lines-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lock.svg new file mode 100644 index 000000000..1c20dc778 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lock.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus-fill.svg new file mode 100644 index 000000000..151ccfe80 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus.svg new file mode 100644 index 000000000..aac3a6738 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-rolodex.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-rolodex.svg new file mode 100644 index 000000000..af898ca72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-rolodex.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-slash.svg new file mode 100644 index 000000000..7316d7ed0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-slash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-square.svg new file mode 100644 index 000000000..a7eb40efa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-up.svg new file mode 100644 index 000000000..5ec777d39 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard-fill.svg new file mode 100644 index 000000000..f40d1088a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard.svg new file mode 100644 index 000000000..3b871584e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video.svg new file mode 100644 index 000000000..b8c199545 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video2.svg new file mode 100644 index 000000000..3f4292e66 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video3.svg new file mode 100644 index 000000000..be38b2492 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video3.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-workspace.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-workspace.svg new file mode 100644 index 000000000..e72bea027 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-workspace.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x-fill.svg new file mode 100644 index 000000000..d4903a6a4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x.svg new file mode 100644 index 000000000..d7ac8f668 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person.svg new file mode 100644 index 000000000..022d1e99b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-fill.svg new file mode 100644 index 000000000..a2dfd0348 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-flip.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-flip.svg new file mode 100644 index 000000000..54e2d2661 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-flip.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape-fill.svg new file mode 100644 index 000000000..295481c89 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape.svg new file mode 100644 index 000000000..65cd2731d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate-fill.svg new file mode 100644 index 000000000..6e61ecce4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate.svg new file mode 100644 index 000000000..f380cabbc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone.svg new file mode 100644 index 000000000..3f3fd74c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart-fill.svg new file mode 100644 index 000000000..6aa71eb89 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart.svg new file mode 100644 index 000000000..a20f6a7e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank-fill.svg new file mode 100644 index 000000000..b44f35d23 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank.svg new file mode 100644 index 000000000..1d836ce19 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle-fill.svg new file mode 100644 index 000000000..3112c0b85 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle.svg new file mode 100644 index 000000000..a07b038e6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-fill.svg new file mode 100644 index 000000000..f00b79042 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map-fill.svg new file mode 100644 index 000000000..b8c8502bd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map.svg new file mode 100644 index 000000000..f04129a7b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin.svg new file mode 100644 index 000000000..45fd7dea6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pinterest.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pinterest.svg new file mode 100644 index 000000000..b4fbc23df --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pinterest.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip-fill.svg new file mode 100644 index 000000000..1869f7892 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip.svg new file mode 100644 index 000000000..58f06382f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn-fill.svg new file mode 100644 index 000000000..18b916786 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn.svg new file mode 100644 index 000000000..576e30bf4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle-fill.svg new file mode 100644 index 000000000..511ef37bf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle.svg new file mode 100644 index 000000000..c93144ab0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-fill.svg new file mode 100644 index 000000000..28f2e6735 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play.svg new file mode 100644 index 000000000..b3fd3dc5b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/playstation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/playstation.svg new file mode 100644 index 000000000..f8ce05b6f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/playstation.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug-fill.svg new file mode 100644 index 000000000..d15b8e6ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug.svg new file mode 100644 index 000000000..c5e6688d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plugin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plugin.svg new file mode 100644 index 000000000..3f179a396 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plugin.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-dotted.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-dotted.svg new file mode 100644 index 000000000..c69316ed9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-dotted.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-fill.svg new file mode 100644 index 000000000..f32011643 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle.svg new file mode 100644 index 000000000..66308ef1f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-lg.svg new file mode 100644 index 000000000..f821cc336 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-slash-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-slash-minus.svg new file mode 100644 index 000000000..44a8e0eb7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-slash-minus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-dotted.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-dotted.svg new file mode 100644 index 000000000..4ae7ad68b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-dotted.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-fill.svg new file mode 100644 index 000000000..0d5e15cf8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square.svg new file mode 100644 index 000000000..15c4c44f7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus.svg new file mode 100644 index 000000000..5b088c08c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-fill.svg new file mode 100644 index 000000000..701a1c646 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart-fill.svg new file mode 100644 index 000000000..a26890148 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart.svg new file mode 100644 index 000000000..4d22b1806 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage.svg new file mode 100644 index 000000000..cc49c7003 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-fill.svg new file mode 100644 index 000000000..01b54dd2c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart-fill.svg new file mode 100644 index 000000000..5e551fb71 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart.svg new file mode 100644 index 000000000..e0f2f05a2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard.svg new file mode 100644 index 000000000..827180e2b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/power.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/power.svg new file mode 100644 index 000000000..6fb97563f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/power.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription.svg new file mode 100644 index 000000000..a0f455603 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription2.svg new file mode 100644 index 000000000..018ca9110 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer-fill.svg new file mode 100644 index 000000000..485d98788 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer.svg new file mode 100644 index 000000000..60196bc5f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector-fill.svg new file mode 100644 index 000000000..ff6a34189 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector.svg new file mode 100644 index 000000000..218c6a5ea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle-fill.svg new file mode 100644 index 000000000..e9bbfae6b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle.svg new file mode 100644 index 000000000..c9b07a24b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code-scan.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code-scan.svg new file mode 100644 index 000000000..7eb599e19 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code-scan.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code.svg new file mode 100644 index 000000000..bf5570dc4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle-fill.svg new file mode 100644 index 000000000..d8e5e06de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle.svg new file mode 100644 index 000000000..1c8cbe7f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond-fill.svg new file mode 100644 index 000000000..a86583bed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond.svg new file mode 100644 index 000000000..a7d8233cc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-lg.svg new file mode 100644 index 000000000..fa3452e4d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon-fill.svg new file mode 100644 index 000000000..2ff954ed0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon.svg new file mode 100644 index 000000000..02e8ffe23 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square-fill.svg new file mode 100644 index 000000000..dd7241042 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square.svg new file mode 100644 index 000000000..d0a56ffb1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question.svg new file mode 100644 index 000000000..05abe29c7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quora.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quora.svg new file mode 100644 index 000000000..e90e571b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quora.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quote.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quote.svg new file mode 100644 index 000000000..03b45bf0b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quote.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle-fill.svg new file mode 100644 index 000000000..c2386c3c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle.svg new file mode 100644 index 000000000..ab5c574a0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square-fill.svg new file mode 100644 index 000000000..e039b8adc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square.svg new file mode 100644 index 000000000..37ddc6aec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/radioactive.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/radioactive.svg new file mode 100644 index 000000000..1b1072f7b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/radioactive.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rainbow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rainbow.svg new file mode 100644 index 000000000..8e8aea78e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rainbow.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt-cutoff.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt-cutoff.svg new file mode 100644 index 000000000..27be3c093 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt-cutoff.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt.svg new file mode 100644 index 000000000..9ea728362 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-0.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-0.svg new file mode 100644 index 000000000..885bf3bb3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-0.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-1.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-1.svg new file mode 100644 index 000000000..3deafb622 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-1.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-2.svg new file mode 100644 index 000000000..7dca57aca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-3.svg new file mode 100644 index 000000000..b30d5fb79 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-4.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-4.svg new file mode 100644 index 000000000..611bdf1b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-4.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn-fill.svg new file mode 100644 index 000000000..caa3ea115 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn.svg new file mode 100644 index 000000000..4fd261cab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle-fill.svg new file mode 100644 index 000000000..2c2429a19 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle.svg new file mode 100644 index 000000000..d45d91c32 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-fill.svg new file mode 100644 index 000000000..d4743936e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record.svg new file mode 100644 index 000000000..27f82a976 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2-fill.svg new file mode 100644 index 000000000..764892877 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2.svg new file mode 100644 index 000000000..43a115044 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/recycle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/recycle.svg new file mode 100644 index 000000000..e4fa6c03c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/recycle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reddit.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reddit.svg new file mode 100644 index 000000000..b1c9cfed4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reddit.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/regex.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/regex.svg new file mode 100644 index 000000000..19c0ff30f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/regex.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat-1.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat-1.svg new file mode 100644 index 000000000..07f4a8b95 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat-1.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat.svg new file mode 100644 index 000000000..0f6d54d86 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all-fill.svg new file mode 100644 index 000000000..7b77b069c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all.svg new file mode 100644 index 000000000..c95025b37 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-fill.svg new file mode 100644 index 000000000..b5a87228d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply.svg new file mode 100644 index 000000000..c2dc098ed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn-fill.svg new file mode 100644 index 000000000..5136147dd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn.svg new file mode 100644 index 000000000..45c023285 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle-fill.svg new file mode 100644 index 000000000..afdaaf3a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle.svg new file mode 100644 index 000000000..054fd9526 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-fill.svg new file mode 100644 index 000000000..79596e0e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind.svg new file mode 100644 index 000000000..58684d4b6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/robot.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/robot.svg new file mode 100644 index 000000000..526cb9914 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/robot.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-fill.svg new file mode 100644 index 000000000..dcb5cb845 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff-fill.svg new file mode 100644 index 000000000..a748d6d82 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff.svg new file mode 100644 index 000000000..376d34297 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket.svg new file mode 100644 index 000000000..5b3cd5c12 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router-fill.svg new file mode 100644 index 000000000..de050cffe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router-fill.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router.svg new file mode 100644 index 000000000..8fa22d0dc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss-fill.svg new file mode 100644 index 000000000..39bef06e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss.svg new file mode 100644 index 000000000..be41f20c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rulers.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rulers.svg new file mode 100644 index 000000000..e9891c9a0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rulers.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe-fill.svg new file mode 100644 index 000000000..1036d675a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe.svg new file mode 100644 index 000000000..fb5b7cb2a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2-fill.svg new file mode 100644 index 000000000..d1d37f2f8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2.svg new file mode 100644 index 000000000..37bfbe80d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save-fill.svg new file mode 100644 index 000000000..0a43dc15f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save.svg new file mode 100644 index 000000000..26b8aed58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2-fill.svg new file mode 100644 index 000000000..45feb5938 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2.svg new file mode 100644 index 000000000..52bc9e40f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scissors.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scissors.svg new file mode 100644 index 000000000..ab71b0dc6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scissors.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scooter.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scooter.svg new file mode 100644 index 000000000..238eedb50 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scooter.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/screwdriver.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/screwdriver.svg new file mode 100644 index 000000000..dc9c37435 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/screwdriver.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card-fill.svg new file mode 100644 index 000000000..9fe36b687 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card.svg new file mode 100644 index 000000000..12ed59f71 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart-fill.svg new file mode 100644 index 000000000..54e31c710 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart.svg new file mode 100644 index 000000000..92ea0591b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search.svg new file mode 100644 index 000000000..d3dc7ca16 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/segmented-nav.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/segmented-nav.svg new file mode 100644 index 000000000..42323b2f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/segmented-nav.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check-fill.svg new file mode 100644 index 000000000..4b0a56af9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check.svg new file mode 100644 index 000000000..581ebbe22 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash-fill.svg new file mode 100644 index 000000000..254329c0c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash.svg new file mode 100644 index 000000000..abfbad373 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation-fill.svg new file mode 100644 index 000000000..5a77e9822 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation.svg new file mode 100644 index 000000000..149a7f74e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-fill.svg new file mode 100644 index 000000000..2a84015d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus-fill.svg new file mode 100644 index 000000000..bea3738a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus.svg new file mode 100644 index 000000000..41202289e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash-fill.svg new file mode 100644 index 000000000..33456870b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash.svg new file mode 100644 index 000000000..782daf3e0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x-fill.svg new file mode 100644 index 000000000..ce102ba4b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x.svg new file mode 100644 index 000000000..c8bc8bf3d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send.svg new file mode 100644 index 000000000..c81fc9553 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/server.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/server.svg new file mode 100644 index 000000000..ff85feb8d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/server.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share-fill.svg new file mode 100644 index 000000000..8b0ee88d3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share.svg new file mode 100644 index 000000000..79d3075f0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-check.svg new file mode 100644 index 000000000..ecbf54399 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-exclamation.svg new file mode 100644 index 000000000..825de04d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-check.svg new file mode 100644 index 000000000..a72b2baf1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-check.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-exclamation.svg new file mode 100644 index 000000000..b489a6816 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-exclamation.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-minus.svg new file mode 100644 index 000000000..b9b9129c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-minus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-plus.svg new file mode 100644 index 000000000..aec96d176 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-plus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-x.svg new file mode 100644 index 000000000..d384af45f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill.svg new file mode 100644 index 000000000..d1d877daf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock-fill.svg new file mode 100644 index 000000000..e4c96b4ea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock.svg new file mode 100644 index 000000000..ff3842503 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-minus.svg new file mode 100644 index 000000000..d1cedfdf7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-plus.svg new file mode 100644 index 000000000..77bcb1a33 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-shaded.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-shaded.svg new file mode 100644 index 000000000..9c4af1a72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-shaded.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash-fill.svg new file mode 100644 index 000000000..015d11b55 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash.svg new file mode 100644 index 000000000..234afa2e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-x.svg new file mode 100644 index 000000000..3fe166618 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield.svg new file mode 100644 index 000000000..18309d181 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift-fill.svg new file mode 100644 index 000000000..da897bcd1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift.svg new file mode 100644 index 000000000..59a88ef55 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop-window.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop-window.svg new file mode 100644 index 000000000..a306cfa41 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop-window.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop.svg new file mode 100644 index 000000000..223d77b42 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shuffle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shuffle.svg new file mode 100644 index 000000000..83bf20caf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shuffle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end-fill.svg new file mode 100644 index 000000000..b7f5876a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end.svg new file mode 100644 index 000000000..2828c9aaa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter-fill.svg new file mode 100644 index 000000000..3dfab6cb5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter.svg new file mode 100644 index 000000000..bf1ab21fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-fill.svg new file mode 100644 index 000000000..a8d0e5b91 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side-fill.svg new file mode 100644 index 000000000..7e6fd342a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side.svg new file mode 100644 index 000000000..80959aaf0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t-fill.svg new file mode 100644 index 000000000..0927772b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t.svg new file mode 100644 index 000000000..95240f418 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y-fill.svg new file mode 100644 index 000000000..80201f961 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y.svg new file mode 100644 index 000000000..efc84a36e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection.svg new file mode 100644 index 000000000..509b13fd4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left-fill.svg new file mode 100644 index 000000000..a1bd7ac8c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left.svg new file mode 100644 index 000000000..b509fa247 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right-fill.svg new file mode 100644 index 000000000..7f771907e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right.svg new file mode 100644 index 000000000..0339ab22c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn-fill.svg new file mode 100644 index 000000000..86cc79b76 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn.svg new file mode 100644 index 000000000..e29d4432c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking-fill.svg new file mode 100644 index 000000000..0e1bf4689 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking.svg new file mode 100644 index 000000000..cc97b1c52 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn-fill.svg new file mode 100644 index 000000000..7448c0950 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn.svg new file mode 100644 index 000000000..e7de0832e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad-fill.svg new file mode 100644 index 000000000..258181302 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad.svg new file mode 100644 index 000000000..a264db25c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-fill.svg new file mode 100644 index 000000000..d9b51dc78 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights-fill.svg new file mode 100644 index 000000000..30c81bee1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights.svg new file mode 100644 index 000000000..297320ad6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop.svg new file mode 100644 index 000000000..14def7439 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left-fill.svg new file mode 100644 index 000000000..1c82bcaba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left.svg new file mode 100644 index 000000000..bea00b71b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right-fill.svg new file mode 100644 index 000000000..97c6343a8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right.svg new file mode 100644 index 000000000..da447dbe6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left-fill.svg new file mode 100644 index 000000000..9d561754f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left.svg new file mode 100644 index 000000000..79475ad0b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right-fill.svg new file mode 100644 index 000000000..1749e66ad --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right.svg new file mode 100644 index 000000000..cf22c012a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield-fill.svg new file mode 100644 index 000000000..ecad4fa8d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield.svg new file mode 100644 index 000000000..aabf3fb41 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signal.svg new file mode 100644 index 000000000..4220d4887 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signal.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2-fill.svg new file mode 100644 index 000000000..cc51e517d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2.svg new file mode 100644 index 000000000..6a18b3ba0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-fill.svg new file mode 100644 index 000000000..f95f257a9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split-fill.svg new file mode 100644 index 000000000..86aa086f5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split.svg new file mode 100644 index 000000000..0168ae537 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost.svg new file mode 100644 index 000000000..90a88822d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim-fill.svg new file mode 100644 index 000000000..c8e2c296e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim.svg new file mode 100644 index 000000000..cc0e86954 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sina-weibo.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sina-weibo.svg new file mode 100644 index 000000000..05c5f4bc8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sina-weibo.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn-fill.svg new file mode 100644 index 000000000..bf064290f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn.svg new file mode 100644 index 000000000..b04455efb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle-fill.svg new file mode 100644 index 000000000..f6b6e4db0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle.svg new file mode 100644 index 000000000..63e2a1956 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-fill.svg new file mode 100644 index 000000000..a0ce53cec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward.svg new file mode 100644 index 000000000..9be60fe7f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn-fill.svg new file mode 100644 index 000000000..55bf1ba8f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn.svg new file mode 100644 index 000000000..6c5b044b4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle-fill.svg new file mode 100644 index 000000000..e30375082 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle.svg new file mode 100644 index 000000000..39e8cd31f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-fill.svg new file mode 100644 index 000000000..fa90d3fc2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end.svg new file mode 100644 index 000000000..40d6fa992 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn-fill.svg new file mode 100644 index 000000000..b767e9c97 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn.svg new file mode 100644 index 000000000..f67d3a805 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle-fill.svg new file mode 100644 index 000000000..00cea35ea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle.svg new file mode 100644 index 000000000..3b55d7e3a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-fill.svg new file mode 100644 index 000000000..c4071aa87 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward.svg new file mode 100644 index 000000000..a1c4720b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn-fill.svg new file mode 100644 index 000000000..56a1370fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn.svg new file mode 100644 index 000000000..c86afbe44 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle-fill.svg new file mode 100644 index 000000000..b6d13b0aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle.svg new file mode 100644 index 000000000..f9664d9f6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-fill.svg new file mode 100644 index 000000000..c4295fc1f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start.svg new file mode 100644 index 000000000..a178e0e09 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skype.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skype.svg new file mode 100644 index 000000000..b3beaf95d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skype.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slack.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slack.svg new file mode 100644 index 000000000..f4aa6e6d6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slack.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle-fill.svg new file mode 100644 index 000000000..f7031017a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle.svg new file mode 100644 index 000000000..4c1344bf7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-lg.svg new file mode 100644 index 000000000..161b6ec7e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square-fill.svg new file mode 100644 index 000000000..c7a393503 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square.svg new file mode 100644 index 000000000..ccf42bd63 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash.svg new file mode 100644 index 000000000..9616561fd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders.svg new file mode 100644 index 000000000..da4b8353f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2-vertical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2-vertical.svg new file mode 100644 index 000000000..c474281c7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2-vertical.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2.svg new file mode 100644 index 000000000..86fa70c35 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/smartwatch.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/smartwatch.svg new file mode 100644 index 000000000..696bd331e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/smartwatch.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snapchat.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snapchat.svg new file mode 100644 index 000000000..505f55a3f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snapchat.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow.svg new file mode 100644 index 000000000..9b648a5fe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow2.svg new file mode 100644 index 000000000..cede335d6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow3.svg new file mode 100644 index 000000000..75e5ef24c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow3.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down-alt.svg new file mode 100644 index 000000000..fa4f4fada --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down-alt.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down.svg new file mode 100644 index 000000000..e0fcad047 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up-alt.svg new file mode 100644 index 000000000..69c1a39a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up-alt.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up.svg new file mode 100644 index 000000000..0be5e68fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down-alt.svg new file mode 100644 index 000000000..d7f7fc8f7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down-alt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down.svg new file mode 100644 index 000000000..848834ce8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down-alt.svg new file mode 100644 index 000000000..8c39a5a38 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down-alt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down.svg new file mode 100644 index 000000000..57a3fb030 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up-alt.svg new file mode 100644 index 000000000..e8edf8865 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up-alt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up.svg new file mode 100644 index 000000000..1cd0a37e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up-alt.svg new file mode 100644 index 000000000..96650d5aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up-alt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up.svg new file mode 100644 index 000000000..215880124 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/soundwave.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/soundwave.svg new file mode 100644 index 000000000..288f108b2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/soundwave.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker-fill.svg new file mode 100644 index 000000000..bae80e2da --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker.svg new file mode 100644 index 000000000..461626db5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer.svg new file mode 100644 index 000000000..5a0a43c94 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer2.svg new file mode 100644 index 000000000..d5676df9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spellcheck.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spellcheck.svg new file mode 100644 index 000000000..029950f5a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spellcheck.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spotify.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spotify.svg new file mode 100644 index 000000000..31b423800 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spotify.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-fill.svg new file mode 100644 index 000000000..31bae4f74 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-half.svg new file mode 100644 index 000000000..3f8179d5d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square.svg new file mode 100644 index 000000000..ded82d436 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack-overflow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack-overflow.svg new file mode 100644 index 000000000..b7d482ded --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack-overflow.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack.svg new file mode 100644 index 000000000..b8a9c940e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-fill.svg new file mode 100644 index 000000000..de09c4aa5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-half.svg new file mode 100644 index 000000000..8d30e7e01 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star.svg new file mode 100644 index 000000000..742b5e250 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stars.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stars.svg new file mode 100644 index 000000000..2c1667796 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stars.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/steam.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/steam.svg new file mode 100644 index 000000000..aecd43398 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/steam.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies-fill.svg new file mode 100644 index 000000000..a0252da0f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies.svg new file mode 100644 index 000000000..8252c4978 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky-fill.svg new file mode 100644 index 000000000..acd42b9af --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky.svg new file mode 100644 index 000000000..dba01423b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn-fill.svg new file mode 100644 index 000000000..58b6c02e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn.svg new file mode 100644 index 000000000..5c392eca1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle-fill.svg new file mode 100644 index 000000000..ac711e030 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle.svg new file mode 100644 index 000000000..441613cac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-fill.svg new file mode 100644 index 000000000..e00085a1e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop.svg new file mode 100644 index 000000000..2b86647fe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights-fill.svg new file mode 100644 index 000000000..a18566b16 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights.svg new file mode 100644 index 000000000..f765ab2ba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch-fill.svg new file mode 100644 index 000000000..2d2ed116e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch.svg new file mode 100644 index 000000000..964dbb8f8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/strava.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/strava.svg new file mode 100644 index 000000000..7e3237d5f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/strava.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stripe.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stripe.svg new file mode 100644 index 000000000..f24fdf383 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stripe.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subscript.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subscript.svg new file mode 100644 index 000000000..6976c0d29 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subscript.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subtract.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subtract.svg new file mode 100644 index 000000000..e1d878a88 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subtract.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club-fill.svg new file mode 100644 index 000000000..d4d311ac6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club.svg new file mode 100644 index 000000000..75e5e8520 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond-fill.svg new file mode 100644 index 000000000..2be1b7fa8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond.svg new file mode 100644 index 000000000..9192a27e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart-fill.svg new file mode 100644 index 000000000..0dd86f999 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart.svg new file mode 100644 index 000000000..c761ef4b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade-fill.svg new file mode 100644 index 000000000..63bb0c63f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade.svg new file mode 100644 index 000000000..8f14427ed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun-fill.svg new file mode 100644 index 000000000..cc1a60e6e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun.svg new file mode 100644 index 000000000..c3112080e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunglasses.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunglasses.svg new file mode 100644 index 000000000..3f7dad01c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunglasses.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise-fill.svg new file mode 100644 index 000000000..eb6a6687d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise.svg new file mode 100644 index 000000000..53d670ddd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset-fill.svg new file mode 100644 index 000000000..7f5b60ecb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset.svg new file mode 100644 index 000000000..91041cfec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/superscript.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/superscript.svg new file mode 100644 index 000000000..06a1a784b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/superscript.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-horizontal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-horizontal.svg new file mode 100644 index 000000000..7e46d9049 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-horizontal.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-vertical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-vertical.svg new file mode 100644 index 000000000..a18fa2f45 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-vertical.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/table.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/table.svg new file mode 100644 index 000000000..5e70d22c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/table.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-fill.svg new file mode 100644 index 000000000..571ae8f96 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape-fill.svg new file mode 100644 index 000000000..a4a604811 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape.svg new file mode 100644 index 000000000..b36f7d414 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet.svg new file mode 100644 index 000000000..be81ff5ac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag-fill.svg new file mode 100644 index 000000000..1502792b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag.svg new file mode 100644 index 000000000..ab34fdd9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags-fill.svg new file mode 100644 index 000000000..f92a36101 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags.svg new file mode 100644 index 000000000..9f6d67646 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front-fill.svg new file mode 100644 index 000000000..1e1eb19db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front.svg new file mode 100644 index 000000000..4cb5fdae2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telegram.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telegram.svg new file mode 100644 index 000000000..139af07eb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telegram.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-fill.svg new file mode 100644 index 000000000..efc72c073 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward-fill.svg new file mode 100644 index 000000000..f4ce48311 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward.svg new file mode 100644 index 000000000..17ec9ce7c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound-fill.svg new file mode 100644 index 000000000..998c8fbe0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound.svg new file mode 100644 index 000000000..460fe9f27 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus-fill.svg new file mode 100644 index 000000000..bc17abbfe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus.svg new file mode 100644 index 000000000..4f4d93cf4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound-fill.svg new file mode 100644 index 000000000..16013a545 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound.svg new file mode 100644 index 000000000..13828860d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus-fill.svg new file mode 100644 index 000000000..6d8c58f53 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus.svg new file mode 100644 index 000000000..21ef90953 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x-fill.svg new file mode 100644 index 000000000..c8ef89497 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x.svg new file mode 100644 index 000000000..5aa3f95d4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone.svg new file mode 100644 index 000000000..8e359b825 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tencent-qq.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tencent-qq.svg new file mode 100644 index 000000000..b107eb5cc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tencent-qq.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-dash.svg new file mode 100644 index 000000000..9049b5e84 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-fill.svg new file mode 100644 index 000000000..d3c63943d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-plus.svg new file mode 100644 index 000000000..be268c8e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-split.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-split.svg new file mode 100644 index 000000000..f65d2c7a2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-split.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-x.svg new file mode 100644 index 000000000..5128f115e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal.svg new file mode 100644 index 000000000..e12c9f882 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-center.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-center.svg new file mode 100644 index 000000000..2887a99f2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-center.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-left.svg new file mode 100644 index 000000000..34d8c55e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-right.svg new file mode 100644 index 000000000..fdd837fa3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-left.svg new file mode 100644 index 000000000..045261164 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-paragraph.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-paragraph.svg new file mode 100644 index 000000000..9779beabf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-paragraph.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-right.svg new file mode 100644 index 000000000..34686b0f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-wrap.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-wrap.svg new file mode 100644 index 000000000..713a96c72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-wrap.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-resize.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-resize.svg new file mode 100644 index 000000000..c4a9d9fcc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-resize.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-t.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-t.svg new file mode 100644 index 000000000..dc7e17c27 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-t.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea.svg new file mode 100644 index 000000000..9aa54459d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-half.svg new file mode 100644 index 000000000..cafefd29b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-half.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-high.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-high.svg new file mode 100644 index 000000000..15acf4c6a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-high.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-low.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-low.svg new file mode 100644 index 000000000..ce540e03b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-low.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-snow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-snow.svg new file mode 100644 index 000000000..0e1b4002f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-snow.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-sun.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-sun.svg new file mode 100644 index 000000000..07c329095 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-sun.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer.svg new file mode 100644 index 000000000..748813ec0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots-vertical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots-vertical.svg new file mode 100644 index 000000000..cd0c79abb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots-vertical.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots.svg new file mode 100644 index 000000000..ea92369aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt-fill.svg new file mode 100644 index 000000000..85c437ee0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt.svg new file mode 100644 index 000000000..b8356da42 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed-fill.svg new file mode 100644 index 000000000..bc5d192bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed.svg new file mode 100644 index 000000000..c2701bbe7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-fill.svg new file mode 100644 index 000000000..73728b6d5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated-fill.svg new file mode 100644 index 000000000..2ec1d57e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated.svg new file mode 100644 index 000000000..194ae05e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket.svg new file mode 100644 index 000000000..f24a93e58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tiktok.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tiktok.svg new file mode 100644 index 000000000..7edac4ee0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tiktok.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-off.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-off.svg new file mode 100644 index 000000000..97d6dab37 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-off.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-on.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-on.svg new file mode 100644 index 000000000..d13b49556 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-on.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-off.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-off.svg new file mode 100644 index 000000000..a8fee6b1b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-off.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-on.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-on.svg new file mode 100644 index 000000000..993ec3327 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-on.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles.svg new file mode 100644 index 000000000..d53ae018a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles2.svg new file mode 100644 index 000000000..862fc9f2c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles2.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tools.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tools.svg new file mode 100644 index 000000000..fcc8362f7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tools.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tornado.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tornado.svg new file mode 100644 index 000000000..5bb53a263 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tornado.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front-fill.svg new file mode 100644 index 000000000..54210a766 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front.svg new file mode 100644 index 000000000..f1080fe66 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front-fill.svg new file mode 100644 index 000000000..0895443a4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front.svg new file mode 100644 index 000000000..672ed4bb1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front-fill.svg new file mode 100644 index 000000000..881ffbcaf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front.svg new file mode 100644 index 000000000..db5f945b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/translate.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/translate.svg new file mode 100644 index 000000000..39a17d228 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/translate.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash-fill.svg new file mode 100644 index 000000000..1a20e6a04 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash.svg new file mode 100644 index 000000000..0ba7218ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2-fill.svg new file mode 100644 index 000000000..bc78b6d6a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2.svg new file mode 100644 index 000000000..6e6468efb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3-fill.svg new file mode 100644 index 000000000..e0e81f1aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3.svg new file mode 100644 index 000000000..1d5f42eed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree-fill.svg new file mode 100644 index 000000000..4d45dd430 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree.svg new file mode 100644 index 000000000..b97eb64f7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trello.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trello.svg new file mode 100644 index 000000000..088605810 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trello.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-fill.svg new file mode 100644 index 000000000..654787f2d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-half.svg new file mode 100644 index 000000000..8f86f28c3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle.svg new file mode 100644 index 000000000..1fa1898e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy-fill.svg new file mode 100644 index 000000000..e29f0013e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy.svg new file mode 100644 index 000000000..adfa10830 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tropical-storm.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tropical-storm.svg new file mode 100644 index 000000000..c16188d48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tropical-storm.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-flatbed.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-flatbed.svg new file mode 100644 index 000000000..5a37c8d88 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-flatbed.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front-fill.svg new file mode 100644 index 000000000..f5b63e3a4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front.svg new file mode 100644 index 000000000..a676a7182 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck.svg new file mode 100644 index 000000000..1afc549c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tsunami.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tsunami.svg new file mode 100644 index 000000000..cf574864c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tsunami.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv-fill.svg new file mode 100644 index 000000000..bf9830f36 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv.svg new file mode 100644 index 000000000..bba3da169 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitch.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitch.svg new file mode 100644 index 000000000..2975f8058 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitch.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitter.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitter.svg new file mode 100644 index 000000000..8a83fa675 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitter.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-bold.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-bold.svg new file mode 100644 index 000000000..276d133c2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-bold.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h1.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h1.svg new file mode 100644 index 000000000..4c8918175 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h1.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h2.svg new file mode 100644 index 000000000..b6ab76501 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h3.svg new file mode 100644 index 000000000..154c293f8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-italic.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-italic.svg new file mode 100644 index 000000000..3ac6b09f0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-italic.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-strikethrough.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-strikethrough.svg new file mode 100644 index 000000000..1c940e42a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-strikethrough.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-underline.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-underline.svg new file mode 100644 index 000000000..c299b8bf2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-underline.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type.svg new file mode 100644 index 000000000..9ab1e4c48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ubuntu.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ubuntu.svg new file mode 100644 index 000000000..27f8c2782 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ubuntu.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks-grid.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks-grid.svg new file mode 100644 index 000000000..a32d42410 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks-grid.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks.svg new file mode 100644 index 000000000..9b659e271 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios-grid.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios-grid.svg new file mode 100644 index 000000000..00c7b0802 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios-grid.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios.svg new file mode 100644 index 000000000..da779afc7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella-fill.svg new file mode 100644 index 000000000..c4886e9af --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella.svg new file mode 100644 index 000000000..94f32f906 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unindent.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unindent.svg new file mode 100644 index 000000000..19692833b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unindent.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/union.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/union.svg new file mode 100644 index 000000000..b629b8816 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/union.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unity.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unity.svg new file mode 100644 index 000000000..e179a383b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unity.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access-circle.svg new file mode 100644 index 000000000..158465b46 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access.svg new file mode 100644 index 000000000..3b7fc37e0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock-fill.svg new file mode 100644 index 000000000..f0533548c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock.svg new file mode 100644 index 000000000..8eb0925da --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc-scan.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc-scan.svg new file mode 100644 index 000000000..2a9a6aff0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc-scan.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc.svg new file mode 100644 index 000000000..6669ef7a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upload.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upload.svg new file mode 100644 index 000000000..be3f8e378 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upload.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c-fill.svg new file mode 100644 index 000000000..0e50ac6a7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c.svg new file mode 100644 index 000000000..c17d4ca1b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive-fill.svg new file mode 100644 index 000000000..834614dd7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive.svg new file mode 100644 index 000000000..ca08df5bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-fill.svg new file mode 100644 index 000000000..443c91a65 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro-fill.svg new file mode 100644 index 000000000..67ad74472 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro.svg new file mode 100644 index 000000000..945b6e75d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini-fill.svg new file mode 100644 index 000000000..723563682 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini.svg new file mode 100644 index 000000000..7cc383f0f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug-fill.svg new file mode 100644 index 000000000..2f1c185cd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug.svg new file mode 100644 index 000000000..68f5f9788 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-symbol.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-symbol.svg new file mode 100644 index 000000000..eb02d87ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-symbol.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb.svg new file mode 100644 index 000000000..e82324c40 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine.svg new file mode 100644 index 000000000..554205510 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine2.svg new file mode 100644 index 000000000..c70e2741a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vector-pen.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vector-pen.svg new file mode 100644 index 000000000..013acc258 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vector-pen.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-list.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-list.svg new file mode 100644 index 000000000..3d1a972e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-list.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-stacked.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-stacked.svg new file mode 100644 index 000000000..7f59bb987 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-stacked.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vimeo.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vimeo.svg new file mode 100644 index 000000000..34eea6d24 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vimeo.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl-fill.svg new file mode 100644 index 000000000..a5ab73ded --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl.svg new file mode 100644 index 000000000..75c2681d9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus.svg new file mode 100644 index 000000000..64dd56f4b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus2.svg new file mode 100644 index 000000000..0aa390150 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/voicemail.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/voicemail.svg new file mode 100644 index 000000000..ff7ce86cb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/voicemail.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down-fill.svg new file mode 100644 index 000000000..4879b5a72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down.svg new file mode 100644 index 000000000..996dbefd6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute-fill.svg new file mode 100644 index 000000000..7ab768441 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute.svg new file mode 100644 index 000000000..12659d9aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off-fill.svg new file mode 100644 index 000000000..4941870e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off.svg new file mode 100644 index 000000000..08bb6b99c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up-fill.svg new file mode 100644 index 000000000..495ee981a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up.svg new file mode 100644 index 000000000..3840310db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vr.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vr.svg new file mode 100644 index 000000000..cf2ea3761 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vr.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet-fill.svg new file mode 100644 index 000000000..d44e5c836 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet.svg new file mode 100644 index 000000000..d18441bcf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet2.svg new file mode 100644 index 000000000..e646d94de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/watch.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/watch.svg new file mode 100644 index 000000000..8c3ee988e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/watch.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/water.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/water.svg new file mode 100644 index 000000000..18e08257b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/water.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam-fill.svg new file mode 100644 index 000000000..04b835bdf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam.svg new file mode 100644 index 000000000..da7ef71e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wechat.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wechat.svg new file mode 100644 index 000000000..06b8ff83a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wechat.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/whatsapp.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/whatsapp.svg new file mode 100644 index 000000000..6242d057c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/whatsapp.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-1.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-1.svg new file mode 100644 index 000000000..4d75ef524 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-1.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-2.svg new file mode 100644 index 000000000..377c1fc9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-off.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-off.svg new file mode 100644 index 000000000..439986136 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-off.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi.svg new file mode 100644 index 000000000..8cb1f71d9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wikipedia.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wikipedia.svg new file mode 100644 index 000000000..5fa98b1cf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wikipedia.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wind.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wind.svg new file mode 100644 index 000000000..d350ea404 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wind.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dash.svg new file mode 100644 index 000000000..191fbd72c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dash.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-desktop.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-desktop.svg new file mode 100644 index 000000000..a044521e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-desktop.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dock.svg new file mode 100644 index 000000000..dbffecbc8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-fullscreen.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-fullscreen.svg new file mode 100644 index 000000000..22a8d2083 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-fullscreen.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-plus.svg new file mode 100644 index 000000000..08444f3af --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-plus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-sidebar.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-sidebar.svg new file mode 100644 index 000000000..98476ce87 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-sidebar.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-split.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-split.svg new file mode 100644 index 000000000..21862f253 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-split.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-stack.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-stack.svg new file mode 100644 index 000000000..592e5c85f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-stack.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-x.svg new file mode 100644 index 000000000..e7a97dc60 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-x.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window.svg new file mode 100644 index 000000000..ad6166e69 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/windows.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/windows.svg new file mode 100644 index 000000000..b28056079 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/windows.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wordpress.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wordpress.svg new file mode 100644 index 000000000..4c8cbc412 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wordpress.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle-fill.svg new file mode 100644 index 000000000..b723d7f66 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle.svg new file mode 100644 index 000000000..a5a6f0b79 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable.svg new file mode 100644 index 000000000..4ec808244 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench.svg new file mode 100644 index 000000000..bef07136f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle-fill.svg new file mode 100644 index 000000000..448fdee46 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle.svg new file mode 100644 index 000000000..ce37cdc36 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond-fill.svg new file mode 100644 index 000000000..2de64033e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond.svg new file mode 100644 index 000000000..0ade53696 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-lg.svg new file mode 100644 index 000000000..53aec00d4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon-fill.svg new file mode 100644 index 000000000..7872889d5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon.svg new file mode 100644 index 000000000..794afd942 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square-fill.svg new file mode 100644 index 000000000..ddfd727a0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square.svg new file mode 100644 index 000000000..9d7852f6a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x.svg new file mode 100644 index 000000000..c865d888e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/xbox.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/xbox.svg new file mode 100644 index 000000000..9d8497330 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/xbox.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yelp.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yelp.svg new file mode 100644 index 000000000..08d346515 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yelp.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yin-yang.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yin-yang.svg new file mode 100644 index 000000000..cf1da48fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yin-yang.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/youtube.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/youtube.svg new file mode 100644 index 000000000..86fa4900a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/youtube.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-in.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-in.svg new file mode 100644 index 000000000..6cde1a0b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-in.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-out.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-out.svg new file mode 100644 index 000000000..b965f8e71 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-out.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/package.json b/src/SharedUI/wwwroot/lib/bootstrap-icons/package.json new file mode 100644 index 000000000..0bac95cf0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/package.json @@ -0,0 +1,70 @@ +{ + "name": "bootstrap-icons", + "version": "1.9.1", + "description": "Official open source SVG icon library for Bootstrap", + "author": "mdo", + "license": "MIT", + "homepage": "https://icons.getbootstrap.com/", + "repository": { + "type": "git", + "url": "git+https://github.com/twbs/icons.git" + }, + "bugs": { + "url": "https://github.com/twbs/icons/issues" + }, + "keywords": [ + "bootstrap", + "icons" + ], + "scripts": { + "start": "npm run docs-serve", + "docs-serve": "hugo server --port 4000 --disableFastRender", + "docs-build": "hugo --cleanDestinationDir", + "docs-purge": "npm run docs-build && purgecss --css docs/static/assets/css/bootstrap.min.css --content \"_site/**/*.html\" \"_site/assets/js/**/*.js\" --keyframes --output docs/static/assets/css/", + "pages": "node build/build-pages.js", + "icons": "npm-run-all icons-main --aggregate-output --parallel icons-sprite icons-font", + "icons-main": "node build/build-svgs.js", + "icons-zip": "cross-env-shell \"rm -rf bootstrap-icons-$npm_package_version && cp -r icons/ bootstrap-icons-$npm_package_version && cp bootstrap-icons.svg bootstrap-icons-$npm_package_version && cp -r font/ bootstrap-icons-$npm_package_version && zip -r9 bootstrap-icons-$npm_package_version.zip bootstrap-icons-$npm_package_version && rm -rf bootstrap-icons-$npm_package_version\"", + "icons-sprite": "svg-sprite --config svg-sprite.json --log=info icons/*.svg", + "icons-font": "fantasticon", + "release": "npm-run-all icons docs-build icons-zip", + "netlify": "cross-env-shell HUGO_BASEURL=$DEPLOY_PRIME_URL npm-run-all icons docs-purge docs-build", + "test:fusv": "fusv docs/assets/scss/", + "test:eslint": "eslint --cache --cache-location node_modules/.cache/.eslintcache --report-unused-disable-directives .", + "test:stylelint": "stylelint docs/assets/scss/ --cache --cache-location node_modules/.cache/.stylelintcache --rd", + "test:lockfile-lint": "lockfile-lint --allowed-hosts npm --allowed-schemes https: --empty-hostname false --type npm --path package-lock.json", + "test:vnu": "node build/vnu-jar.js", + "test": "npm-run-all docs-build --parallel --aggregate-output --continue-on-error test:*" + }, + "style": "font/bootstrap-icons.css", + "sass": "font/bootstrap-icons.scss", + "devDependencies": { + "autoprefixer": "^10.4.7", + "bootstrap": "5.2.0-beta1", + "cross-env": "^7.0.3", + "eslint": "^8.19.0", + "fantasticon": "^1.2.3", + "find-unused-sass-variables": "^4.0.4", + "hugo-bin": "^0.89.0", + "lockfile-lint": "^4.7.6", + "npm-run-all": "^4.1.5", + "picocolors": "^1.0.0", + "postcss": "^8.4.14", + "postcss-cli": "^10.0.0", + "purgecss": "^4.1.3", + "stylelint": "^14.9.1", + "stylelint-config-twbs-bootstrap": "^4.0.0", + "svg-sprite": "^2.0.0-beta7", + "svgo": "^2.8.0", + "vnu-jar": "21.10.12" + }, + "files": [ + "icons/*.svg", + "bootstrap-icons.svg", + "font", + "!.DS_Store" + ], + "hugo-bin": { + "buildTags": "extended" + } +} diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css new file mode 100644 index 000000000..37d2d3dc5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css @@ -0,0 +1,4085 @@ +/*! + * Bootstrap Grid v5.3.0 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} + +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + box-sizing: border-box; + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.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: 0.25rem !important; +} + +.me-2 { + margin-right: 0.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: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.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: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.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: 0.25rem !important; +} + +.p-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.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: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.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: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.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: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +@media (min-width: 576px) { + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.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: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.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: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.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: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.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: 0.25rem !important; + } + .p-sm-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.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: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.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: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.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: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 768px) { + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.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: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.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: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.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: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.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: 0.25rem !important; + } + .p-md-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.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: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.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: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.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: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 992px) { + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.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: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.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: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.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: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.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: 0.25rem !important; + } + .p-lg-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.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: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.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: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.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: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 1200px) { + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.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: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.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: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.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: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.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: 0.25rem !important; + } + .p-xl-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.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: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.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: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.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: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 1400px) { + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.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: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.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: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.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: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.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: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.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: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.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: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.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: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} + +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css.map b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css.map new file mode 100644 index 000000000..2f2887337 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","bootstrap-grid.css","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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EE,mBAAA;EJ6+BR;EI1+BM;;IAEE,mBAAA;EJ4+BR;AACF;AKpiCQ;EAOI,0BAAA;ALgiCZ;;AKviCQ;EAOI,gCAAA;ALoiCZ;;AK3iCQ;EAOI,yBAAA;ALwiCZ;;AK/iCQ;EAOI,wBAAA;AL4iCZ;;AKnjCQ;EAOI,+BAAA;ALgjCZ;;AKvjCQ;EAOI,yBAAA;ALojCZ;;AK3jCQ;EAOI,6BAAA;ALwjCZ;;AK/jCQ;EAOI,8BAAA;AL4jCZ;;AKnkCQ;EAOI,wBAAA;ALgkCZ;;AKvkCQ;EAOI,+BAAA;ALokCZ;;AK3kCQ;EAOI,wBAAA;ALwkCZ;;AK/kCQ;EAOI,yBAAA;AL4kCZ;;AKnlCQ;EAOI,8BAAA;ALglCZ;;AKvlCQ;EAOI,iCAAA;ALolCZ;;AK3lCQ;EAOI,sCAAA;ALwlCZ;;AK/lCQ;EAOI,yCAAA;AL4lCZ;;AKnmCQ;EAOI,uBAAA;ALgmCZ;;AKvmCQ;EAOI,uBAAA;ALomCZ;;AK3mCQ;EAOI,yBAAA;ALwmCZ;;AK/mCQ;EAOI,yBAAA;AL4mCZ;;AKnnCQ;EAOI,0BAAA;ALgnCZ;;AKvnCQ;EAOI,4BAAA;ALonCZ;;AK3nCQ;EAOI,kCAAA;ALwnCZ;;AK/nCQ;EAOI,sCAAA;AL4nCZ;;AKnoCQ;EAOI,oCAAA;ALgoCZ;;AKvoCQ;EAOI,kCAAA;ALooCZ;;AK3oCQ;EAOI,yCAAA;ALwoCZ;;AK/oCQ;EAOI,wCAAA;AL4oCZ;;AKnpCQ;EAOI,wCAAA;ALgpCZ;;AKvpCQ;EAOI,kCAAA;ALopCZ;;AK3pCQ;EAOI,gCAAA;ALwpCZ;;AK/pCQ;EAOI,8BAAA;AL4pCZ;;AKnqCQ;EAOI,gCAAA;ALgqCZ;;AKvqCQ;EAOI,+BAAA;ALoqCZ;;AK3qCQ;EAOI,oCAAA;ALwqCZ;;AK/qCQ;EAOI,kCAAA;AL4qCZ;;AKnrCQ;EAOI,gCAAA;ALgrCZ;;AKvrCQ;EAOI,uCAAA;ALorCZ;;AK3rCQ;EAOI,sCAAA;ALwrCZ;;AK/rCQ;EAOI,iCAAA;AL4rCZ;;AKnsCQ;EAOI,2BAAA;ALgsCZ;;AKvsCQ;EAOI,iCAAA;ALosCZ;;AK3sCQ;EAOI,+BAAA;ALwsCZ;;AK/sCQ;EAOI,6BAAA;AL4sCZ;;AKntCQ;EA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;AL8iDZ;;AKrjDQ;EAOI,4BAAA;ALkjDZ;;AKzjDQ;EAOI,2BAAA;ALsjDZ;;AK7jDQ;EAOI,iCAAA;AL0jDZ;;AKjkDQ;EAOI,gCAAA;AL8jDZ;;AKrkDQ;EAOI,8BAAA;ALkkDZ;;AKzkDQ;EAOI,gCAAA;ALskDZ;;AK7kDQ;EAOI,8BAAA;AL0kDZ;;AKjlDQ;EAOI,4BAAA;AL8kDZ;;AKrlDQ;EAOI,kCAAA;ALklDZ;;AKzlDQ;EAOI,iCAAA;ALslDZ;;AK7lDQ;EAOI,+BAAA;AL0lDZ;;AKjmDQ;EAOI,iCAAA;AL8lDZ;;AKrmDQ;EAOI,+BAAA;ALkmDZ;;AKzmDQ;EAOI,0BAAA;ALsmDZ;;AK7mDQ;EAOI,gCAAA;AL0mDZ;;AKjnDQ;EAOI,+BAAA;AL8mDZ;;AKrnDQ;EAOI,6BAAA;ALknDZ;;AKznDQ;EAOI,+BAAA;ALsnDZ;;AK7nDQ;EAOI,6BAAA;AL0nDZ;;ACpoDI;EIGI;IAOI,0BAAA;EL+nDV;EKtoDM;IAOI,gCAAA;ELkoDV;EKzoDM;IAOI,yBAAA;ELqoDV;EK5oDM;IAOI,wBAAA;ELwoDV;EK/oDM;IAOI,+BAAA;EL2oDV;EKlpDM;IAOI,yBAAA;EL8oDV;EKrpDM;IAOI,6BAAA;ELipDV;EKxpDM;IAOI,8BAAA;ELopDV;EK3pDM;IAOI,wBAAA;ELupDV;EK9pDM;IAOI,+BAAA;EL0pDV;EKjqDM;IAOI,wBAAA;EL6pDV;EKpqDM;IAOI,yBAAA;ELgqDV;EKvqDM;IAOI,8BAAA;ELmqDV;EK1qDM;IAOI,iCAAA;ELsqDV;EK7qDM;IAOI,sCAAA;ELyqDV;EKhrDM;IAOI,yCAAA;EL4qDV;EKnrDM;IAOI,uBAAA;EL+qDV;EKtrDM;IAOI,uBAAA;ELkrDV;EKzrDM;IAOI,yBAAA;ELqrDV;EK5rDM;IAOI,yBAAA;ELwrDV;EK/rDM;IAOI,0BAAA;EL2rDV;EKlsDM;IAOI,4BAAA;EL8rDV;EKrsDM;IAOI,kCAAA;ELisDV;EKxsDM;IAOI,sCAAA;ELosDV;EK3sDM;IAOI,oCAAA;ELusDV;EK9sDM;IAOI,kCAAA;EL0sDV;EKjtDM;IAOI,yCAAA;EL6sDV;EKptDM;IAOI,wCAAA;ELgtDV;EKvtDM;IAOI,wCAAA;ELmtDV;EK1tDM;IAOI,kCAAA;ELstDV;EK7tDM;IAOI,gCAAA;ELytDV;EKhuDM;IAOI,8BAAA;EL4tDV;EKnuDM;IAOI,gCAAA;EL+tDV;EKtuDM;IAOI,+BAAA;ELkuDV;EKzuDM;IAOI,oCAAA;ELquDV;EK5uDM;IAOI,kCAAA;ELwuDV;EK/uDM;IAOI,gCAAA;EL2uDV;EKlvDM;IAOI,uCAAA;EL8uDV;EKrvDM;IAOI,sCAAA;ELivDV;EKxvDM;IAOI,iCAAA;ELovDV;EK3vDM;IAOI,2BAAA;ELuvDV;EK9vDM;IAOI,iCAAA;EL0vDV;EKjwDM;IAOI,+BAAA;EL6vDV;EKpwDM;IAOI,6BAAA;ELgwDV;EKvwDM;IAOI,+BAAA;ELmwDV;EK1wDM;IAOI,8BAAA;ELswDV;EK7wDM;IAOI,oBAAA;ELywDV;EKhxDM;IAOI,mBAAA;EL4wDV;EKnxDM;IAOI,mBAAA;EL+wDV;EKtxDM;IAOI,mBAAA;ELkxDV;EKzxDM;IAOI,mBAAA;ELqxDV;EK5xDM;IAOI,mBAAA;ELwxDV;EK/xDM;IAOI,mBAAA;EL2xDV;EKlyDM;IAOI,mBAAA;EL8xDV;EKryDM;IAOI,oBAAA;ELiyDV;EKxyDM;IAOI,0BAAA;ELoyDV;EK3yDM;IAOI,yBAAA;ELuyDV;EK9yDM;IAOI,uBAAA;EL0yDV;EKjzDM;IAOI,yBAAA;EL6yDV;EKpzDM;IAOI,uBAAA;ELgzDV;EKvzDM;IAOI,uBAAA;ELmzDV;EK1zDM;IAOI,0BAAA;IAAA,yBAAA;ELuzDV;EK9zDM;IAOI,gCAAA;IAAA,+BAAA;EL2zDV;EKl0DM;IAOI,+BAAA;IAAA,8BAAA;EL+zDV;EKt0DM;IAOI,6BAAA;IAAA,4BAAA;ELm0DV;EK10DM;IAOI,+BAAA;IAAA,8BAAA;ELu0DV;EK90DM;IAOI,6BAAA;IAAA,4BAAA;EL20DV;EKl1DM;IAOI,6BAAA;IAAA,4BAAA;EL+0DV;EKt1DM;IAOI,wBAAA;IAAA,2BAAA;ELm1DV;EK11DM;IAOI,8BAAA;IAAA,iCAAA;ELu1DV;EK91DM;IAOI,6BAAA;IAAA,gCAAA;EL21DV;EKl2DM;IAOI,2BAAA;IAAA,8BAAA;EL+1DV;EKt2DM;IAOI,6BAAA;IAAA,gCAAA;ELm2DV;EK12DM;IAOI,2BAAA;IAAA,8BAAA;ELu2DV;EK92DM;IAOI,2BAAA;IAAA,8BAAA;EL22DV;EKl3DM;IAOI,wBAAA;EL82DV;EKr3DM;IAOI,8BAAA;ELi3DV;EKx3DM;IAOI,6BAAA;ELo3DV;EK33DM;IAOI,2BAAA;ELu3DV;EK93DM;IAOI,6BAAA;EL03DV;EKj4DM;IAOI,2BAAA;EL63DV;EKp4DM;IAOI,2BAAA;ELg4DV;EKv4DM;IAOI,0BAAA;ELm4DV;EK14DM;IAOI,gCAAA;ELs4DV;EK74DM;IAOI,+BAAA;ELy4DV;EKh5DM;IAOI,6BAAA;EL44DV;EKn5DM;IAOI,+BAAA;EL+4DV;EKt5DM;IAOI,6BAAA;ELk5DV;EKz5DM;IAOI,6BAAA;ELq5DV;EK55DM;IAOI,2BAAA;ELw5DV;EK/5DM;IAOI,iCAAA;EL25DV;EKl6DM;IAOI,gCAAA;EL85DV;EKr6DM;IAOI,8BAAA;ELi6DV;EKx6DM;IAOI,gCAAA;ELo6DV;EK36DM;IAOI,8BAAA;ELu6DV;EK96DM;IAOI,8BAAA;EL06DV;EKj7DM;IAOI,yBAAA;EL66DV;EKp7DM;IAOI,+BAAA;ELg7DV;EKv7DM;IAOI,8BAAA;ELm7DV;EK17DM;IAOI,4BAAA;ELs7DV;EK77DM;IAOI,8BAAA;ELy7DV;EKh8DM;IAOI,4BAAA;EL47DV;EKn8DM;IAOI,4BAAA;EL+7DV;EKt8DM;IAOI,qBAAA;ELk8DV;EKz8DM;IAOI,2BAAA;ELq8DV;EK58DM;IAOI,0BAAA;ELw8DV;EK/8DM;IAOI,wBAAA;EL28DV;EKl9DM;IAOI,0BAAA;EL88DV;EKr9DM;IAOI,wBAAA;ELi9DV;EKx9DM;IAOI,2BAAA;IAAA,0BAAA;ELq9DV;EK59DM;IAOI,iCAAA;IAAA,gCAAA;ELy9DV;EKh+DM;IAOI,gCAAA;IAAA,+BAAA;EL69DV;EKp+DM;IAOI,8BAAA;IAAA,6BAAA;ELi+DV;EKx+DM;IAOI,gCAAA;IAAA,+BAAA;ELq+DV;EK5+DM;IAOI,8BAAA;IAAA,6BAAA;ELy+DV;EKh/DM;IAOI,yBAAA;IAAA,4BAAA;EL6+DV;EKp/DM;IAOI,+BAAA;IAAA,kCAAA;ELi/DV;EKx/DM;IAOI,8BAAA;IAAA,iCAAA;ELq/DV;EK5/DM;IAOI,4BAAA;IAAA,+BAAA;ELy/DV;EKhgEM;IAOI,8BAAA;IAAA,iCAAA;EL6/DV;EKpgEM;IAOI,4BAAA;IAAA,+BAAA;ELigEV;EKxgEM;IAOI,yBAAA;ELogEV;EK3gEM;IAOI,+BAAA;ELugEV;EK9gEM;IAOI,8BAAA;EL0gEV;EKjhEM;IAOI,4BAAA;EL6gEV;EKphEM;IAOI,8BAAA;ELghEV;EKvhEM;IAOI,4BAAA;ELmhEV;EK1hEM;IAOI,2BAAA;ELshEV;EK7hEM;IAOI,iCAAA;ELyhEV;EKhiEM;IAOI,gCAAA;EL4hEV;EKniEM;IAOI,8BAAA;EL+hEV;EKtiEM;IAOI,gCAAA;ELkiEV;EKziEM;IAOI,8BAAA;ELqiEV;EK5iEM;IAOI,4BAAA;ELwiEV;EK/iEM;IAOI,kCAAA;EL2iEV;EKljEM;IAOI,iCAAA;EL8iEV;EKrjEM;IAOI,+BAAA;ELijEV;EKxjEM;IAOI,iCAAA;ELojEV;EK3jEM;IAOI,+BAAA;ELujEV;EK9jEM;IAOI,0BAAA;EL0jEV;EKjkEM;IAOI,gCAAA;EL6jEV;EKpkEM;IAOI,+BAAA;ELgkEV;EKvkEM;IAOI,6BAAA;ELmkEV;EK1kEM;IAOI,+BAAA;ELskEV;EK7kEM;IAOI,6BAAA;ELykEV;AACF;ACplEI;EIGI;IAOI,0BAAA;EL8kEV;EKrlEM;IAOI,gCAAA;ELilEV;EKxlEM;IAOI,yBAAA;ELolEV;EK3lEM;IAOI,wBAAA;ELulEV;EK9lEM;IAOI,+BAAA;EL0lEV;EKjmEM;IAOI,yBAAA;EL6lEV;EKpmEM;IAOI,6BAAA;ELgmEV;EKvmEM;IAOI,8BAAA;ELmmEV;EK1mEM;IAOI,wBAAA;ELsmEV;EK7mEM;IAOI,+BAAA;ELymEV;EKhnEM;IAOI,wBAAA;EL4mEV;EKnnEM;IAOI,yBAAA;EL+mEV;EKtnEM;IAOI,8BAAA;ELknEV;EKznEM;IAOI,iCAAA;ELqnEV;EK5nEM;IAOI,sCAAA;ELwnEV;EK/nEM;IAOI,yCAAA;EL2nEV;EKloEM;IAOI,uBAAA;EL8nEV;EKroEM;IAOI,uBAAA;ELioEV;EKxoEM;IAOI,yBAAA;ELooEV;EK3oEM;IAOI,yBAAA;ELuoEV;EK9oEM;IAOI,0BAAA;EL0oEV;EKjpEM;IAOI,4BAAA;EL6oEV;EKppEM;IAOI,kCAAA;ELgpEV;EKvpEM;IAOI,sCAAA;ELmpEV;EK1pEM;IAOI,oCAAA;ELspEV;EK7pEM;IAOI,kCAAA;ELypEV;EKhqEM;IAOI,yCAAA;EL4pEV;EKnqEM;IAOI,wCAAA;EL+pEV;EKtqEM;IAOI,wCAAA;ELkqEV;EKzqEM;IAOI,kCAAA;ELqqEV;EK5qEM;IAOI,gCAAA;ELwqEV;EK/qEM;IAOI,8BAAA;EL2qEV;EKlrEM;IAOI,gCAAA;EL8qEV;EKrrEM;IAOI,+BAAA;ELirEV;EKxrEM;IAOI,oCAAA;ELorEV;EK3rEM;IAOI,kCAAA;ELurEV;EK9rEM;IAOI,gCAAA;EL0rEV;EKjsEM;IAOI,uCAAA;EL6rEV;EKpsEM;IAOI,sCAAA;ELgsEV;EKvsEM;IAOI,iCAAA;ELmsEV;EK1sEM;IAOI,2BAAA;ELssEV;EK7sEM;IAOI,iCAAA;ELysEV;EKhtEM;IAOI,+BAAA;EL4sEV;EKntEM;IAOI,6BAAA;EL+sEV;EKttEM;IAOI,+BAAA;ELktEV;EKztEM;IAOI,8BAAA;ELqtEV;EK5tEM;IAOI,oBAAA;ELwtEV;EK/tEM;IAOI,mBAAA;EL2tEV;EKluEM;IAOI,mBAAA;EL8tEV;EKruEM;IAOI,mBAAA;ELiuEV;EKxuEM;IAOI,mBAAA;ELouEV;EK3uEM;IAOI,mBAAA;ELuuEV;EK9uEM;IAOI,mBAAA;EL0uEV;EKjvEM;IAOI,mBAAA;EL6uEV;EKpvEM;IAOI,oBAAA;ELgvEV;EKvvEM;IAOI,0BAAA;ELmvEV;EK1vEM;IAOI,yBAAA;ELsvEV;EK7vEM;IAOI,uBAAA;ELyvEV;EKhwEM;IAOI,yBAAA;EL4vEV;EKnwEM;IAOI,uBAAA;EL+vEV;EKtwEM;IAOI,uBAAA;ELkwEV;EKzwEM;IAOI,0BAAA;IAAA,yBAAA;ELswEV;EK7wEM;IAO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EKviFM;IAOI,yBAAA;ELmiFV;EK1iFM;IAOI,wBAAA;ELsiFV;EK7iFM;IAOI,+BAAA;ELyiFV;EKhjFM;IAOI,yBAAA;EL4iFV;EKnjFM;IAOI,6BAAA;EL+iFV;EKtjFM;IAOI,8BAAA;ELkjFV;EKzjFM;IAOI,wBAAA;ELqjFV;EK5jFM;IAOI,+BAAA;ELwjFV;EK/jFM;IAOI,wBAAA;EL2jFV;EKlkFM;IAOI,yBAAA;EL8jFV;EKrkFM;IAOI,8BAAA;ELikFV;EKxkFM;IAOI,iCAAA;ELokFV;EK3kFM;IAOI,sCAAA;ELukFV;EK9kFM;IAOI,yCAAA;EL0kFV;EKjlFM;IAOI,uBAAA;EL6kFV;EKplFM;IAOI,uBAAA;ELglFV;EKvlFM;IAOI,yBAAA;ELmlFV;EK1lFM;IAOI,yBAAA;ELslFV;EK7lFM;IAOI,0BAAA;ELylFV;EKhmFM;IAOI,4BAAA;EL4lFV;EKnmFM;IAOI,kCAAA;EL+lFV;EKtmFM;IAOI,sCAAA;ELkmFV;EKzmFM;IAOI,oCAAA;ELqmFV;EK5mFM;IAOI,kCAAA;ELwmFV;EK/mFM;IAOI,yCAAA;EL2mFV;EKlnFM;IAOI,wCAAA;EL8mFV;EKrnFM;IAOI,wCAAA;ELinFV;EKxnFM;IAOI,kCAAA;ELonFV;EK3nFM;IAOI,gCAAA;ELunFV;EK9nFM;IAOI,8BAAA;EL0nFV;EKjoFM;IAOI,gCAAA;EL6nFV;EKpoFM;IAOI,+BAAA;ELgoFV;EKvoFM;IAOI,oCAAA;ELmoFV;EK1oFM;IAOI,kCAAA;ELsoFV;EK7oFM;IAOI,gCAAA;ELyoFV;EKhpFM;IAOI,uCAAA;EL4oFV;EKnpFM;IAOI,sCAAA;EL+oFV;EKtpFM;IAOI,iCAAA;ELkpFV;EKzpFM;IAOI,2BAAA;ELqpFV;EK5pFM;IAOI,iCAAA;ELwpFV;EK/pFM;IAOI,+BAAA;EL2pFV;EKlqFM;IAOI,6BAAA;EL8pFV;EKrqFM;IAOI,+BAAA;ELiqFV;EKxqFM;IAOI,8BAAA;ELoqFV;EK3qFM;IAOI,oBAAA;ELuqFV;EK9qFM;IAOI,mBAAA;EL0qFV;EKjrFM;IAOI,mBAAA;EL6qFV;EKprFM;IAOI,mBAAA;ELgrFV;EKvrFM;IAOI,mBAAA;ELmrFV;EK1rFM;IAOI,mBAAA;ELsrFV;EK7rFM;IAOI,mBAAA;ELyrFV;EKhsFM;IAOI,mBAAA;EL4rFV;EKnsFM;IAOI,oBAAA;EL+rFV;EKtsFM;IAOI,0BAAA;ELksFV;EKzsFM;IAOI,yBAAA;ELqsFV;EK5sFM;IAOI,uBAAA;ELwsFV;EK/sFM;IAOI,yBAAA;EL2sFV;EKltFM;IAOI,uBAAA;EL8sFV;EKrtFM;IAOI,uBAAA;ELitFV;EKxtFM;IAOI,0BAAA;IAAA,yBAAA;ELqtFV;EK5tFM;IAOI,gCAAA;IAAA,+BAAA;ELytFV;EKhuFM;IAOI,+BAAA;IAAA,8BAAA;EL6tFV;EKpuFM;IAOI,6BAAA;IAAA,4BAAA;ELiuFV;EKxuFM;IAOI,+BAAA;IAAA,8BAAA;ELquFV;EK5uFM;IAOI,6BAAA;IAAA,4BAAA;ELyuFV;EKhvFM;IAOI,6BAAA;IAAA,4BAAA;EL6uFV;EKpvFM;IAOI,wBAAA;IAAA,2BAAA;ELivFV;EKxvFM;IAOI,8BAAA;IAAA,iCAAA;ELqvFV;EK5vFM;IAOI,6BAAA;IAAA,gCAAA;ELyvFV;EKhwFM;IAOI,2BAAA;IAAA,8BAAA;EL6vFV;EKpwFM;IAOI,6BAAA;IAAA,gCAAA;ELiwFV;EKxwFM;IAOI,2BAAA;IAAA,8BAAA;ELqwFV;EK5wFM;IAOI,2BAAA;IAAA,8BAAA;ELywFV;EKhxFM;IAOI,wBAAA;EL4wFV;EKnxFM;IAOI,8BAAA;EL+wFV;EKtxFM;IAOI,6BAAA;ELkxFV;EKzxFM;IAOI,2BAAA;ELqxFV;EK5xFM;IAOI,6BAAA;ELwxFV;EK/xFM;IAOI,2BAAA;EL2xFV;EKlyFM;IAOI,2BAAA;EL8xFV;EKryFM;IAOI,0BAAA;ELiyFV;EKxyFM;IAOI,gCAAA;ELoyFV;EK3yFM;IAOI,+BAAA;ELuyFV;EK9yFM;IAOI,6BAAA;EL0yFV;EKjzFM;IAOI,+BAAA;EL6yFV;EKpzFM;IAOI,6BAAA;ELgzFV;EKvzFM;IAOI,6BAAA;ELmzFV;EK1zFM;IAOI,2BAAA;ELszFV;EK7zFM;IAOI,iCAAA;ELyzFV;EKh0FM;IAOI,gCAAA;EL4zFV;EKn0FM;IAOI,8BAAA;EL+zFV;EKt0FM;IAOI,gCAAA;ELk0FV;EKz0FM;IAOI,8BAAA;ELq0FV;EK50FM;IAOI,8BAAA;ELw0FV;EK/0FM;IAOI,yBAAA;EL20FV;EKl1FM;IAOI,+BAAA;EL80FV;EKr1FM;IAOI,8BAAA;ELi1FV;EKx1FM;IAOI,4BAAA;ELo1FV;EK31FM;IAOI,8BAAA;ELu1FV;EK91FM;IAOI,4BAAA;EL01FV;EKj2FM;IAOI,4BAAA;EL61FV;EKp2FM;IAOI,qBAAA;ELg2FV;EKv2FM;IAOI,2BAAA;ELm2FV;EK12FM;IAOI,0BAAA;ELs2FV;EK72FM;IAOI,wBAAA;ELy2FV;EKh3FM;IAOI,0BAAA;EL42FV;EKn3FM;IAOI,wBAAA;EL+2FV;EKt3FM;IAOI,2BAAA;IAAA,0BAAA;ELm3FV;EK13FM;IAOI,iCAAA;IAAA,gCAAA;ELu3FV;EK93FM;IAOI,gCAAA;IAAA,+BAAA;EL23FV;EKl4FM;IAOI,8BAAA;IAAA,6BAAA;EL+3FV;EKt4FM;IAOI,gCAAA;IAAA,+BAAA;ELm4FV;EK14FM;IAOI,8BAAA;IAAA,6BAAA;ELu4FV;EK94FM;IAOI,yBAAA;IAAA,4BAAA;EL24FV;EKl5FM;IAOI,+BAAA;IAAA,kCAAA;EL+4FV;EKt5FM;IAOI,8BAAA;IAAA,iCAAA;ELm5FV;EK15FM;IAOI,4BAAA;IAAA,+BAAA;ELu5FV;EK95FM;IAOI,8BAAA;IAAA,iCAAA;EL25FV;EKl6FM;IAOI,4BAAA;IAAA,+BAAA;EL+5FV;EKt6FM;IAOI,yBAAA;ELk6FV;EKz6FM;IAOI,+BAAA;ELq6FV;EK56FM;IAOI,8BAAA;ELw6FV;EK/6FM;IAOI,4BAAA;EL26FV;EKl7FM;IAOI,8BAAA;EL86FV;EKr7FM;IAOI,4BAAA;ELi7FV;EKx7FM;IAOI,2BAAA;ELo7FV;EK37FM;IAOI,iCAAA;ELu7FV;EK97FM;IAOI,gCAAA;EL07FV;EKj8FM;IAOI,8BAAA;EL67FV;EKp8FM;IAOI,gCAAA;ELg8FV;EKv8FM;IAOI,8BAAA;ELm8FV;EK18FM;IAOI,4BAAA;ELs8FV;EK78FM;IAOI,kCAAA;ELy8FV;EKh9FM;IAOI,iCAAA;EL48FV;EKn9FM;IAOI,+BAAA;EL+8FV;EKt9FM;IAOI,iCAAA;ELk9FV;EKz9FM;IAOI,+BAAA;ELq9FV;EK59FM;IAOI,0BAAA;ELw9FV;EK/9FM;IAOI,gCAAA;EL29FV;EKl+FM;IAOI,+BAAA;EL89FV;EKr+FM;IAOI,6BAAA;ELi+FV;EKx+FM;IAOI,+BAAA;ELo+FV;EK3+FM;IAOI,6BAAA;ELu+FV;AACF;ACl/FI;EIGI;IAOI,0BAAA;EL4+FV;EKn/FM;IAOI,gCAAA;EL++FV;EKt/FM;IAOI,yBAAA;ELk/FV;EKz/FM;IAOI,wBAAA;ELq/FV;EK5/FM;IAOI,+BAAA;ELw/FV;EK//FM;IAOI,yBAAA;EL2/FV;EKlgGM;IAOI,6BAAA;EL8/FV;EKrgGM;IAOI,8BAAA;ELigGV;EKxgGM;IAOI,wBAAA;ELogGV;EK3gGM;IAOI,+BAAA;ELugGV;EK9gGM;IAOI,wBAAA;EL0gGV;EKjhGM;IAOI,yBAAA;EL6gGV;EKphGM;IAOI,8BAAA;ELghGV;EKvhGM;IAOI,iCAAA;ELmhGV;EK1hGM;IAOI,sCAAA;ELshGV;EK7hGM;IAOI,yCAAA;ELyhGV;EKhiGM;IAOI,uBAAA;EL4hGV;EKniGM;IAOI,uBAAA;EL+hGV;EKtiGM;IAOI,yBAAA;ELkiGV;EKziGM;IAOI,yBAAA;ELqiGV;EK5iGM;IAOI,0BAAA;ELwiGV;EK/iGM;IAOI,4BAAA;EL2iGV;EKljGM;IAOI,kCAAA;EL8iGV;EKrjGM;IAOI,sCAAA;ELijGV;EKxjGM;IAOI,oCAAA;ELojGV;EK3jGM;IAOI,kCAAA;ELujGV;EK9jGM;IAOI,yCAAA;EL0jGV;EKjkGM;IAOI,wCAAA;EL6jGV;EKpkGM;IAOI,wCAAA;ELgkGV;EKvkGM;IAOI,kCAAA;ELmkGV;EK1kGM;IAOI,gCAAA;ELskGV;EK7kGM;IAOI,8BAAA;ELykGV;EKhlGM;IAOI,gCAAA;EL4kGV;EKnlGM;IAOI,+BAAA;EL+kGV;EKtlGM;IAOI,oCAAA;ELklGV;EKzlGM;IAOI,kCAAA;ELqlGV;EK5lGM;IAOI,gCAAA;ELwlGV;EK/l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ELi3GV;EKx3GM;IAOI,+BAAA;ELo3GV;EK33GM;IAOI,8BAAA;ELu3GV;EK93GM;IAOI,4BAAA;EL03GV;EKj4GM;IAOI,8BAAA;EL63GV;EKp4GM;IAOI,4BAAA;ELg4GV;EKv4GM;IAOI,2BAAA;ELm4GV;EK14GM;IAOI,iCAAA;ELs4GV;EK74GM;IAOI,gCAAA;ELy4GV;EKh5GM;IAOI,8BAAA;EL44GV;EKn5GM;IAOI,gCAAA;EL+4GV;EKt5GM;IAOI,8BAAA;ELk5GV;EKz5GM;IAOI,4BAAA;ELq5GV;EK55GM;IAOI,kCAAA;ELw5GV;EK/5GM;IAOI,iCAAA;EL25GV;EKl6GM;IAOI,+BAAA;EL85GV;EKr6GM;IAOI,iCAAA;ELi6GV;EKx6GM;IAOI,+BAAA;ELo6GV;EK36GM;IAOI,0BAAA;ELu6GV;EK96GM;IAOI,gCAAA;EL06GV;EKj7GM;IAOI,+BAAA;EL66GV;EKp7GM;IAOI,6BAAA;ELg7GV;EKv7GM;IAOI,+BAAA;ELm7GV;EK17GM;IAOI,6BAAA;ELs7GV;AACF;ACj8GI;EIGI;IAOI,0BAAA;EL27GV;EKl8GM;IAOI,gCAAA;EL87GV;EKr8GM;IAOI,yBAAA;ELi8GV;EKx8GM;IAOI,wBAAA;ELo8GV;EK38GM;IAOI,+BAAA;ELu8GV;EK98GM;IAOI,yBAAA;EL08GV;EKj9GM;IAOI,6BAAA;EL68GV;EKp9GM;IAOI,8BAAA;ELg9GV;EKv9GM;IAOI,wBAAA;ELm9GV;EK19GM;IAOI,+BAAA;ELs9GV;EK79GM;IAOI,wBAAA;ELy9GV;EKh+GM;IAOI,yBAAA;EL49GV;EKn+GM;IAOI,8BAAA;EL+9GV;EKt+GM;IAOI,iCAAA;ELk+GV;EKz+GM;IAOI,sCAAA;ELq+GV;EK5+GM;IAOI,yCAAA;ELw+GV;EK/+GM;IAOI,uBAAA;EL2+GV;EKl/GM;IAOI,uBAAA;EL8+GV;EKr/GM;IAOI,yBAAA;ELi/GV;EKx/GM;IAOI,yBAAA;ELo/GV;EK3/GM;IAOI,0BAAA;ELu/GV;EK9/GM;IAOI,4BAAA;EL0/GV;EKjgHM;IAOI,kCAAA;EL6/GV;EKpgHM;IAOI,sCAAA;ELggHV;EKvgHM;I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","file":"bootstrap-grid.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","/*!\n * Bootstrap Grid v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"black\": $black,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n \"blue-100\": $blue-100,\n \"blue-200\": $blue-200,\n \"blue-300\": $blue-300,\n \"blue-400\": $blue-400,\n \"blue-500\": $blue-500,\n \"blue-600\": $blue-600,\n \"blue-700\": $blue-700,\n \"blue-800\": $blue-800,\n \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n \"indigo-100\": $indigo-100,\n \"indigo-200\": $indigo-200,\n \"indigo-300\": $indigo-300,\n \"indigo-400\": $indigo-400,\n \"indigo-500\": $indigo-500,\n \"indigo-600\": $indigo-600,\n \"indigo-700\": $indigo-700,\n \"indigo-800\": $indigo-800,\n \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n \"purple-100\": $purple-100,\n \"purple-200\": $purple-200,\n \"purple-300\": $purple-300,\n \"purple-400\": $purple-400,\n \"purple-500\": $purple-500,\n \"purple-600\": $purple-600,\n \"purple-700\": $purple-700,\n \"purple-800\": $purple-800,\n \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n \"pink-100\": $pink-100,\n \"pink-200\": $pink-200,\n \"pink-300\": $pink-300,\n \"pink-400\": $pink-400,\n \"pink-500\": $pink-500,\n \"pink-600\": $pink-600,\n \"pink-700\": $pink-700,\n \"pink-800\": $pink-800,\n \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n \"red-100\": $red-100,\n \"red-200\": $red-200,\n \"red-300\": $red-300,\n \"red-400\": $red-400,\n \"red-500\": $red-500,\n \"red-600\": $red-600,\n \"red-700\": $red-700,\n \"red-800\": $red-800,\n \"red-900\": $red-900\n) !default;\n\n$oranges: (\n \"orange-100\": $orange-100,\n \"orange-200\": $orange-200,\n \"orange-300\": $orange-300,\n \"orange-400\": $orange-400,\n \"orange-500\": $orange-500,\n \"orange-600\": $orange-600,\n \"orange-700\": $orange-700,\n \"orange-800\": $orange-800,\n \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n \"yellow-100\": $yellow-100,\n \"yellow-200\": $yellow-200,\n \"yellow-300\": $yellow-300,\n \"yellow-400\": $yellow-400,\n \"yellow-500\": $yellow-500,\n \"yellow-600\": $yellow-600,\n \"yellow-700\": $yellow-700,\n \"yellow-800\": $yellow-800,\n \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n \"green-100\": $green-100,\n \"green-200\": $green-200,\n \"green-300\": $green-300,\n \"green-400\": $green-400,\n \"green-500\": $green-500,\n \"green-600\": $green-600,\n \"green-700\": $green-700,\n \"green-800\": $green-800,\n \"green-900\": $green-900\n) !default;\n\n$teals: (\n \"teal-100\": $teal-100,\n \"teal-200\": $teal-200,\n \"teal-300\": $teal-300,\n \"teal-400\": $teal-400,\n \"teal-500\": $teal-500,\n \"teal-600\": $teal-600,\n \"teal-700\": $teal-700,\n \"teal-800\": $teal-800,\n \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n \"cyan-100\": $cyan-100,\n \"cyan-200\": $cyan-200,\n \"cyan-300\": $cyan-300,\n \"cyan-400\": $cyan-400,\n \"cyan-500\": $cyan-500,\n \"cyan-600\": $cyan-600,\n \"cyan-700\": $cyan-700,\n \"cyan-800\": $cyan-800,\n \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// scss-docs-start theme-text-variables\n$primary-text-emphasis: shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis: shade-color($success, 60%) !default;\n$info-text-emphasis: shade-color($info, 60%) !default;\n$warning-text-emphasis: shade-color($warning, 60%) !default;\n$danger-text-emphasis: shade-color($danger, 60%) !default;\n$light-text-emphasis: $gray-700 !default;\n$dark-text-emphasis: $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle: tint-color($primary, 80%) !default;\n$secondary-bg-subtle: tint-color($secondary, 80%) !default;\n$success-bg-subtle: tint-color($success, 80%) !default;\n$info-bg-subtle: tint-color($info, 80%) !default;\n$warning-bg-subtle: tint-color($warning, 80%) !default;\n$danger-bg-subtle: tint-color($danger, 80%) !default;\n$light-bg-subtle: mix($gray-100, $white) !default;\n$dark-bg-subtle: $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle: tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle: tint-color($success, 60%) !default;\n$info-border-subtle: tint-color($info, 60%) !default;\n$warning-border-subtle: tint-color($warning, 60%) !default;\n$danger-border-subtle: tint-color($danger, 60%) !default;\n$light-border-subtle: $gray-200 !default;\n$dark-border-subtle: $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`\n$prefix: $variable-prefix !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `` element.\n\n$body-text-align: null !default;\n$body-color: $gray-900 !default;\n$body-bg: $white !default;\n\n$body-secondary-color: rgba($body-color, .75) !default;\n$body-secondary-bg: $gray-200 !default;\n\n$body-tertiary-color: rgba($body-color, .5) !default;\n$body-tertiary-bg: $gray-100 !default;\n\n$body-emphasis-color: $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap: .375rem !default;\n$icon-link-underline-offset: .25em !default;\n$icon-link-icon-size: 1em !default;\n$icon-link-icon-transition: .2s ease-in-out transform !default;\n$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: $gray-300 !default;\n$border-color-translucent: rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .375rem !default;\n$border-radius-sm: .25rem !default;\n$border-radius-lg: .5rem !default;\n$border-radius-xl: 1rem !default;\n$border-radius-xxl: 2rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl: $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width: .25rem !default;\n$focus-ring-opacity: .25 !default;\n$focus-ring-color: rgba($primary, $focus-ring-opacity) !default;\n$focus-ring-blur: 0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-medium: 500 !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style: null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n// fusv-disable\n$text-muted: var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n\n// fusv-disable\n$hr-bg-color: null !default; // Deprecated in v5.2.0\n$hr-height: null !default; // Deprecated in v5.2.0\n// fusv-enable\n\n$hr-border-color: null !default; // Allows for inherited colors\n$hr-border-width: var(--#{$prefix}border-width) !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-padding: .1875em !default;\n$mark-bg: $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: var(--#{$prefix}body-color) !default;\n$table-bg: var(--#{$prefix}body-bg) !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: var(--#{$prefix}border-width) !default;\n$table-border-color: var(--#{$prefix}border-color) !default;\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n$table-caption-color: var(--#{$prefix}secondary-color) !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": shift-color($primary, $table-bg-scale),\n \"secondary\": shift-color($secondary, $table-bg-scale),\n \"success\": shift-color($success, $table-bg-scale),\n \"info\": shift-color($info, $table-bg-scale),\n \"warning\": shift-color($warning, $table-bg-scale),\n \"danger\": shift-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: $focus-ring-width !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color: $focus-ring-color !default;\n$input-btn-focus-blur: $focus-ring-blur !default;\n$input-btn-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color: var(--#{$prefix}body-color) !default;\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: var(--#{$prefix}link-color) !default;\n$btn-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: var(--#{$prefix}body-bg) !default;\n$input-disabled-color: null !default;\n$input-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color: null !default;\n\n$input-color: var(--#{$prefix}body-color) !default;\n$input-border-color: var(--#{$prefix}border-color) !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color: var(--#{$prefix}body-color) !default;\n\n$input-height-border: calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba($black, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: var(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $input-disabled-bg !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $input-border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-border-radius-sm: $input-border-radius-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-border-radius-lg: $input-border-radius-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: var(--#{$prefix}tertiary-bg) !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: var(--#{$prefix}secondary-color) !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-height: 1.5em !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color: $gray-600 !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--#{$prefix}form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}success),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-valid-border-color),\n ),\n \"invalid\": (\n \"color\": var(--#{$prefix}form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}danger),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-invalid-border-color),\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: var(--#{$prefix}link-color) !default;\n$nav-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: var(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color: var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width: var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color: var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg: var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-underline-gap: 1rem !default;\n$nav-underline-border-width: .125rem !default;\n$nav-underline-link-active-color: var(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-light-color: rgba(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color: rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color: rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color: rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color: rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !default;\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: var(--#{$prefix}body-color) !default;\n$dropdown-bg: var(--#{$prefix}body-bg) !default;\n$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius: var(--#{$prefix}border-radius) !default;\n$dropdown-border-width: var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color: $dropdown-link-color !default;\n$dropdown-link-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: var(--#{$prefix}tertiary-color) !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding-x: $dropdown-item-padding-x !default;\n$dropdown-header-padding-y: $dropdown-padding-y !default;\n// fusv-disable\n$dropdown-header-padding: $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0\n// fusv-enable\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-font-size: $font-size-base !default;\n\n$pagination-color: var(--#{$prefix}link-color) !default;\n$pagination-bg: var(--#{$prefix}body-bg) !default;\n$pagination-border-radius: var(--#{$prefix}border-radius) !default;\n$pagination-border-width: var(--#{$prefix}border-width) !default;\n$pagination-margin-start: calc(#{$pagination-border-width} * -1) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow: $focus-ring-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color: var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $component-active-bg !default;\n\n$pagination-disabled-color: var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-title-color: null !default;\n$card-subtitle-color: null !default;\n$card-border-width: var(--#{$prefix}border-width) !default;\n$card-border-color: var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius: var(--#{$prefix}border-radius) !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: var(--#{$prefix}body-bg) !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: var(--#{$prefix}body-color) !default;\n$accordion-bg: var(--#{$prefix}body-bg) !default;\n$accordion-border-width: var(--#{$prefix}border-width) !default;\n$accordion-border-color: var(--#{$prefix}border-color) !default;\n$accordion-border-radius: var(--#{$prefix}border-radius) !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: var(--#{$prefix}body-color) !default;\n$accordion-button-bg: var(--#{$prefix}accordion-bg) !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $body-color !default;\n$accordion-icon-active-color: $primary-text-emphasis !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: var(--#{$prefix}body-bg) !default;\n$tooltip-bg: var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius: var(--#{$prefix}border-radius) !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: null !default; // TODO: remove this in v6\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n// fusv-disable\n$tooltip-arrow-color: null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables\n// fusv-enable\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: var(--#{$prefix}body-bg) !default;\n$popover-max-width: 276px !default;\n$popover-border-width: var(--#{$prefix}border-width) !default;\n$popover-border-color: var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-font-size: $font-size-base !default;\n$popover-header-bg: var(--#{$prefix}secondary-bg) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: var(--#{$prefix}body-color) !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n// scss-docs-end popover-variables\n\n// fusv-disable\n// Deprecated in Bootstrap 5.2.0 for CSS variables\n$popover-arrow-color: $popover-bg !default;\n$popover-arrow-outer-color: var(--#{$prefix}border-color-translucent) !default;\n// fusv-enable\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width: var(--#{$prefix}border-width) !default;\n$toast-border-color: var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius: var(--#{$prefix}border-radius) !default;\n$toast-box-shadow: var(--#{$prefix}box-shadow) !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color: $toast-border-color !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: var(--#{$prefix}body-bg) !default;\n$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width: var(--#{$prefix}border-width) !default;\n$modal-content-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n\n$modal-header-border-color: var(--#{$prefix}border-color) !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg: null !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: var(--#{$prefix}border-width) !default;\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n// fusv-disable\n$alert-bg-scale: -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale: -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale: 40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius: var(--#{$prefix}border-radius) !default;\n$progress-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: var(--#{$prefix}body-color) !default;\n$list-group-bg: var(--#{$prefix}body-bg) !default;\n$list-group-border-color: var(--#{$prefix}border-color) !default;\n$list-group-border-width: var(--#{$prefix}border-width) !default;\n$list-group-border-radius: var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale: -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale: 40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color: var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color: var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width: var(--#{$prefix}border-width) !default;\n$thumbnail-border-color: var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius: var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow: var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-dark-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,\") !default;\n$btn-close-focus-shadow: $focus-ring-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: var(--#{$prefix}body-bg) !default;\n$offcanvas-color: var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .1875rem !default;\n$kbd-padding-x: .375rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: var(--#{$prefix}body-bg) !default;\n$kbd-bg: var(--#{$prefix}body-color) !default;\n$nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: divide(100%, $count);\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css new file mode 100644 index 000000000..8d836d469 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap Grid v5.3.0 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css.map b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css.map new file mode 100644 index 000000000..4811b6f4e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","/*!\n * Bootstrap Grid v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: divide(100%, $count);\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css new file mode 100644 index 000000000..171129648 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css @@ -0,0 +1,4084 @@ +/*! + * Bootstrap Grid v5.3.0 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-left: calc(var(--bs-gutter-x) * 0.5); + padding-right: calc(var(--bs-gutter-x) * 0.5); + margin-left: auto; + margin-right: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} + +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + box-sizing: border-box; + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-left: calc(var(--bs-gutter-x) * 0.5); + padding-right: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-right: 8.33333333%; +} + +.offset-2 { + margin-right: 16.66666667%; +} + +.offset-3 { + margin-right: 25%; +} + +.offset-4 { + margin-right: 33.33333333%; +} + +.offset-5 { + margin-right: 41.66666667%; +} + +.offset-6 { + margin-right: 50%; +} + +.offset-7 { + margin-right: 58.33333333%; +} + +.offset-8 { + margin-right: 66.66666667%; +} + +.offset-9 { + margin-right: 75%; +} + +.offset-10 { + margin-right: 83.33333333%; +} + +.offset-11 { + margin-right: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-right: 0; + } + .offset-sm-1 { + margin-right: 8.33333333%; + } + .offset-sm-2 { + margin-right: 16.66666667%; + } + .offset-sm-3 { + margin-right: 25%; + } + .offset-sm-4 { + margin-right: 33.33333333%; + } + .offset-sm-5 { + margin-right: 41.66666667%; + } + .offset-sm-6 { + margin-right: 50%; + } + .offset-sm-7 { + margin-right: 58.33333333%; + } + .offset-sm-8 { + margin-right: 66.66666667%; + } + .offset-sm-9 { + margin-right: 75%; + } + .offset-sm-10 { + margin-right: 83.33333333%; + } + .offset-sm-11 { + margin-right: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-right: 0; + } + .offset-md-1 { + margin-right: 8.33333333%; + } + .offset-md-2 { + margin-right: 16.66666667%; + } + .offset-md-3 { + margin-right: 25%; + } + .offset-md-4 { + margin-right: 33.33333333%; + } + .offset-md-5 { + margin-right: 41.66666667%; + } + .offset-md-6 { + margin-right: 50%; + } + .offset-md-7 { + margin-right: 58.33333333%; + } + .offset-md-8 { + margin-right: 66.66666667%; + } + .offset-md-9 { + margin-right: 75%; + } + .offset-md-10 { + margin-right: 83.33333333%; + } + .offset-md-11 { + margin-right: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-right: 0; + } + .offset-lg-1 { + margin-right: 8.33333333%; + } + .offset-lg-2 { + margin-right: 16.66666667%; + } + .offset-lg-3 { + margin-right: 25%; + } + .offset-lg-4 { + margin-right: 33.33333333%; + } + .offset-lg-5 { + margin-right: 41.66666667%; + } + .offset-lg-6 { + margin-right: 50%; + } + .offset-lg-7 { + margin-right: 58.33333333%; + } + .offset-lg-8 { + margin-right: 66.66666667%; + } + .offset-lg-9 { + margin-right: 75%; + } + .offset-lg-10 { + margin-right: 83.33333333%; + } + .offset-lg-11 { + margin-right: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-right: 0; + } + .offset-xl-1 { + margin-right: 8.33333333%; + } + .offset-xl-2 { + margin-right: 16.66666667%; + } + .offset-xl-3 { + margin-right: 25%; + } + .offset-xl-4 { + margin-right: 33.33333333%; + } + .offset-xl-5 { + margin-right: 41.66666667%; + } + .offset-xl-6 { + margin-right: 50%; + } + .offset-xl-7 { + margin-right: 58.33333333%; + } + .offset-xl-8 { + margin-right: 66.66666667%; + } + .offset-xl-9 { + margin-right: 75%; + } + .offset-xl-10 { + margin-right: 83.33333333%; + } + .offset-xl-11 { + margin-right: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-right: 0; + } + .offset-xxl-1 { + margin-right: 8.33333333%; + } + .offset-xxl-2 { + margin-right: 16.66666667%; + } + .offset-xxl-3 { + margin-right: 25%; + } + .offset-xxl-4 { + margin-right: 33.33333333%; + } + .offset-xxl-5 { + margin-right: 41.66666667%; + } + .offset-xxl-6 { + margin-right: 50%; + } + .offset-xxl-7 { + margin-right: 58.33333333%; + } + .offset-xxl-8 { + margin-right: 66.66666667%; + } + .offset-xxl-9 { + margin-right: 75%; + } + .offset-xxl-10 { + margin-right: 83.33333333%; + } + .offset-xxl-11 { + margin-right: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.mx-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; +} + +.mx-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; +} + +.mx-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; +} + +.mx-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; +} + +.mx-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; +} + +.mx-auto { + margin-left: auto !important; + margin-right: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-left: 0 !important; +} + +.me-1 { + margin-left: 0.25rem !important; +} + +.me-2 { + margin-left: 0.5rem !important; +} + +.me-3 { + margin-left: 1rem !important; +} + +.me-4 { + margin-left: 1.5rem !important; +} + +.me-5 { + margin-left: 3rem !important; +} + +.me-auto { + margin-left: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-right: 0 !important; +} + +.ms-1 { + margin-right: 0.25rem !important; +} + +.ms-2 { + margin-right: 0.5rem !important; +} + +.ms-3 { + margin-right: 1rem !important; +} + +.ms-4 { + margin-right: 1.5rem !important; +} + +.ms-5 { + margin-right: 3rem !important; +} + +.ms-auto { + margin-right: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.px-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; +} + +.px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} + +.px-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} + +.px-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; +} + +.px-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-left: 0 !important; +} + +.pe-1 { + padding-left: 0.25rem !important; +} + +.pe-2 { + padding-left: 0.5rem !important; +} + +.pe-3 { + padding-left: 1rem !important; +} + +.pe-4 { + padding-left: 1.5rem !important; +} + +.pe-5 { + padding-left: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-right: 0 !important; +} + +.ps-1 { + padding-right: 0.25rem !important; +} + +.ps-2 { + padding-right: 0.5rem !important; +} + +.ps-3 { + padding-right: 1rem !important; +} + +.ps-4 { + padding-right: 1.5rem !important; +} + +.ps-5 { + padding-right: 3rem !important; +} + +@media (min-width: 576px) { + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-sm-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-sm-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-sm-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-sm-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-sm-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-sm-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-left: 0 !important; + } + .me-sm-1 { + margin-left: 0.25rem !important; + } + .me-sm-2 { + margin-left: 0.5rem !important; + } + .me-sm-3 { + margin-left: 1rem !important; + } + .me-sm-4 { + margin-left: 1.5rem !important; + } + .me-sm-5 { + margin-left: 3rem !important; + } + .me-sm-auto { + margin-left: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-right: 0 !important; + } + .ms-sm-1 { + margin-right: 0.25rem !important; + } + .ms-sm-2 { + margin-right: 0.5rem !important; + } + .ms-sm-3 { + margin-right: 1rem !important; + } + .ms-sm-4 { + margin-right: 1.5rem !important; + } + .ms-sm-5 { + margin-right: 3rem !important; + } + .ms-sm-auto { + margin-right: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-sm-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-sm-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-sm-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-sm-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-sm-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-left: 0 !important; + } + .pe-sm-1 { + padding-left: 0.25rem !important; + } + .pe-sm-2 { + padding-left: 0.5rem !important; + } + .pe-sm-3 { + padding-left: 1rem !important; + } + .pe-sm-4 { + padding-left: 1.5rem !important; + } + .pe-sm-5 { + padding-left: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-right: 0 !important; + } + .ps-sm-1 { + padding-right: 0.25rem !important; + } + .ps-sm-2 { + padding-right: 0.5rem !important; + } + .ps-sm-3 { + padding-right: 1rem !important; + } + .ps-sm-4 { + padding-right: 1.5rem !important; + } + .ps-sm-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 768px) { + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-md-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-md-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-md-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-md-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-md-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-md-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-left: 0 !important; + } + .me-md-1 { + margin-left: 0.25rem !important; + } + .me-md-2 { + margin-left: 0.5rem !important; + } + .me-md-3 { + margin-left: 1rem !important; + } + .me-md-4 { + margin-left: 1.5rem !important; + } + .me-md-5 { + margin-left: 3rem !important; + } + .me-md-auto { + margin-left: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-right: 0 !important; + } + .ms-md-1 { + margin-right: 0.25rem !important; + } + .ms-md-2 { + margin-right: 0.5rem !important; + } + .ms-md-3 { + margin-right: 1rem !important; + } + .ms-md-4 { + margin-right: 1.5rem !important; + } + .ms-md-5 { + margin-right: 3rem !important; + } + .ms-md-auto { + margin-right: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-md-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-md-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-md-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-md-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-md-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-left: 0 !important; + } + .pe-md-1 { + padding-left: 0.25rem !important; + } + .pe-md-2 { + padding-left: 0.5rem !important; + } + .pe-md-3 { + padding-left: 1rem !important; + } + .pe-md-4 { + padding-left: 1.5rem !important; + } + .pe-md-5 { + padding-left: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-right: 0 !important; + } + .ps-md-1 { + padding-right: 0.25rem !important; + } + .ps-md-2 { + padding-right: 0.5rem !important; + } + .ps-md-3 { + padding-right: 1rem !important; + } + .ps-md-4 { + padding-right: 1.5rem !important; + } + .ps-md-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 992px) { + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-lg-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-lg-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-lg-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-lg-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-lg-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-lg-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-left: 0 !important; + } + .me-lg-1 { + margin-left: 0.25rem !important; + } + .me-lg-2 { + margin-left: 0.5rem !important; + } + .me-lg-3 { + margin-left: 1rem !important; + } + .me-lg-4 { + margin-left: 1.5rem !important; + } + .me-lg-5 { + margin-left: 3rem !important; + } + .me-lg-auto { + margin-left: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-right: 0 !important; + } + .ms-lg-1 { + margin-right: 0.25rem !important; + } + .ms-lg-2 { + margin-right: 0.5rem !important; + } + .ms-lg-3 { + margin-right: 1rem !important; + } + .ms-lg-4 { + margin-right: 1.5rem !important; + } + .ms-lg-5 { + margin-right: 3rem !important; + } + .ms-lg-auto { + margin-right: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-lg-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-lg-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-lg-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-lg-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-lg-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-left: 0 !important; + } + .pe-lg-1 { + padding-left: 0.25rem !important; + } + .pe-lg-2 { + padding-left: 0.5rem !important; + } + .pe-lg-3 { + padding-left: 1rem !important; + } + .pe-lg-4 { + padding-left: 1.5rem !important; + } + .pe-lg-5 { + padding-left: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-right: 0 !important; + } + .ps-lg-1 { + padding-right: 0.25rem !important; + } + .ps-lg-2 { + padding-right: 0.5rem !important; + } + .ps-lg-3 { + padding-right: 1rem !important; + } + .ps-lg-4 { + padding-right: 1.5rem !important; + } + .ps-lg-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 1200px) { + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-xl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-xl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-xl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-xl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-xl-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-xl-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-left: 0 !important; + } + .me-xl-1 { + margin-left: 0.25rem !important; + } + .me-xl-2 { + margin-left: 0.5rem !important; + } + .me-xl-3 { + margin-left: 1rem !important; + } + .me-xl-4 { + margin-left: 1.5rem !important; + } + .me-xl-5 { + margin-left: 3rem !important; + } + .me-xl-auto { + margin-left: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-right: 0 !important; + } + .ms-xl-1 { + margin-right: 0.25rem !important; + } + .ms-xl-2 { + margin-right: 0.5rem !important; + } + .ms-xl-3 { + margin-right: 1rem !important; + } + .ms-xl-4 { + margin-right: 1.5rem !important; + } + .ms-xl-5 { + margin-right: 3rem !important; + } + .ms-xl-auto { + margin-right: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-xl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-xl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-xl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-xl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-xl-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-left: 0 !important; + } + .pe-xl-1 { + padding-left: 0.25rem !important; + } + .pe-xl-2 { + padding-left: 0.5rem !important; + } + .pe-xl-3 { + padding-left: 1rem !important; + } + .pe-xl-4 { + padding-left: 1.5rem !important; + } + .pe-xl-5 { + padding-left: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-right: 0 !important; + } + .ps-xl-1 { + padding-right: 0.25rem !important; + } + .ps-xl-2 { + padding-right: 0.5rem !important; + } + .ps-xl-3 { + padding-right: 1rem !important; + } + .ps-xl-4 { + padding-right: 1.5rem !important; + } + .ps-xl-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 1400px) { + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-xxl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-xxl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-xxl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-xxl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-xxl-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-xxl-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-left: 0 !important; + } + .me-xxl-1 { + margin-left: 0.25rem !important; + } + .me-xxl-2 { + margin-left: 0.5rem !important; + } + .me-xxl-3 { + margin-left: 1rem !important; + } + .me-xxl-4 { + margin-left: 1.5rem !important; + } + .me-xxl-5 { + margin-left: 3rem !important; + } + .me-xxl-auto { + margin-left: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-right: 0 !important; + } + .ms-xxl-1 { + margin-right: 0.25rem !important; + } + .ms-xxl-2 { + margin-right: 0.5rem !important; + } + .ms-xxl-3 { + margin-right: 1rem !important; + } + .ms-xxl-4 { + margin-right: 1.5rem !important; + } + .ms-xxl-5 { + margin-right: 3rem !important; + } + .ms-xxl-auto { + margin-right: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-xxl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-xxl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-xxl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-xxl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-xxl-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-left: 0 !important; + } + .pe-xxl-1 { + padding-left: 0.25rem !important; + } + .pe-xxl-2 { + padding-left: 0.5rem !important; + } + .pe-xxl-3 { + padding-left: 1rem !important; + } + .pe-xxl-4 { + padding-left: 1.5rem !important; + } + .pe-xxl-5 { + padding-left: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-right: 0 !important; + } + .ps-xxl-1 { + padding-right: 0.25rem !important; + } + .ps-xxl-2 { + padding-right: 0.5rem !important; + } + .ps-xxl-3 { + padding-right: 1rem !important; + } + .ps-xxl-4 { + padding-right: 1.5rem !important; + } + .ps-xxl-5 { + padding-right: 3rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap-grid.rtl.css.map */ \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css.map b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css.map new file mode 100644 index 000000000..a3c40bb1e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","bootstrap-grid.css","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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EE,mBAAA;EJ6+BR;EI1+BM;;IAEE,mBAAA;EJ4+BR;AACF;AKpiCQ;EAOI,0BAAA;ALgiCZ;;AKviCQ;EAOI,gCAAA;ALoiCZ;;AK3iCQ;EAOI,yBAAA;ALwiCZ;;AK/iCQ;EAOI,wBAAA;AL4iCZ;;AKnjCQ;EAOI,+BAAA;ALgjCZ;;AKvjCQ;EAOI,yBAAA;ALojCZ;;AK3jCQ;EAOI,6BAAA;ALwjCZ;;AK/jCQ;EAOI,8BAAA;AL4jCZ;;AKnkCQ;EAOI,wBAAA;ALgkCZ;;AKvkCQ;EAOI,+BAAA;ALokCZ;;AK3kCQ;EAOI,wBAAA;ALwkCZ;;AK/kCQ;EAOI,yBAAA;AL4kCZ;;AKnlCQ;EAOI,8BAAA;ALglCZ;;AKvlCQ;EAOI,iCAAA;ALolCZ;;AK3lCQ;EAOI,sCAAA;ALwlCZ;;AK/lCQ;EAOI,yCAAA;AL4lCZ;;AKnmCQ;EAOI,uBAAA;ALgmCZ;;AKvmCQ;EAOI,uBAAA;ALomCZ;;AK3mCQ;EAOI,yBAAA;ALwmCZ;;AK/mCQ;EAOI,yBAAA;AL4mCZ;;AKnnCQ;EAOI,0BAAA;ALgnCZ;;AKvnCQ;EAOI,4BAAA;ALonCZ;;AK3nCQ;EAOI,kCAAA;ALwnCZ;;AK/nCQ;EAOI,sCAAA;AL4nCZ;;AKnoCQ;EAOI,oCAAA;ALgoCZ;;AKvoCQ;EAOI,kCAAA;ALooCZ;;AK3oCQ;EAOI,yCAAA;ALwoCZ;;AK/oCQ;EAOI,wCAAA;AL4oCZ;;AKnpCQ;EAOI,wCAAA;ALgpCZ;;AKvpCQ;EAOI,kCAAA;ALopCZ;;AK3pCQ;EAOI,gCAAA;ALwpCZ;;AK/pCQ;EAOI,8BAAA;AL4pCZ;;AKnqCQ;EAOI,gCAAA;ALgqCZ;;AKvqCQ;EAOI,+BAAA;ALoqCZ;;AK3qCQ;EAOI,oCAAA;ALwqCZ;;AK/qCQ;EAOI,kCAAA;AL4qCZ;;AKnrCQ;EAOI,gCAAA;ALgrCZ;;AKvrCQ;EAOI,uCAAA;ALorCZ;;AK3rCQ;EAOI,sCAAA;ALwrCZ;;AK/rCQ;EAOI,iCAAA;AL4rCZ;;AKnsCQ;EAOI,2BAAA;ALgsCZ;;AKvsCQ;EAOI,iCAAA;ALosCZ;;AK3sCQ;EAOI,+BAAA;ALwsCZ;;AK/sCQ;EAOI,6BAAA;AL4sCZ;;AKntCQ;EA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;AL8iDZ;;AKrjDQ;EAOI,4BAAA;ALkjDZ;;AKzjDQ;EAOI,0BAAA;ALsjDZ;;AK7jDQ;EAOI,gCAAA;AL0jDZ;;AKjkDQ;EAOI,+BAAA;AL8jDZ;;AKrkDQ;EAOI,6BAAA;ALkkDZ;;AKzkDQ;EAOI,+BAAA;ALskDZ;;AK7kDQ;EAOI,6BAAA;AL0kDZ;;AKjlDQ;EAOI,4BAAA;AL8kDZ;;AKrlDQ;EAOI,kCAAA;ALklDZ;;AKzlDQ;EAOI,iCAAA;ALslDZ;;AK7lDQ;EAOI,+BAAA;AL0lDZ;;AKjmDQ;EAOI,iCAAA;AL8lDZ;;AKrmDQ;EAOI,+BAAA;ALkmDZ;;AKzmDQ;EAOI,2BAAA;ALsmDZ;;AK7mDQ;EAOI,iCAAA;AL0mDZ;;AKjnDQ;EAOI,gCAAA;AL8mDZ;;AKrnDQ;EAOI,8BAAA;ALknDZ;;AKznDQ;EAOI,gCAAA;ALsnDZ;;AK7nDQ;EAOI,8BAAA;AL0nDZ;;ACpoDI;EIGI;IAOI,0BAAA;EL+nDV;EKtoDM;IAOI,gCAAA;ELkoDV;EKzoDM;IAOI,yBAAA;ELqoDV;EK5oDM;IAOI,wBAAA;ELwoDV;EK/oDM;IAOI,+BAAA;EL2oDV;EKlpDM;IAOI,yBAAA;EL8oDV;EKrpDM;IAOI,6BAAA;ELipDV;EKxpDM;IAOI,8BAAA;ELopDV;EK3pDM;IAOI,wBAAA;ELupDV;EK9pDM;IAOI,+BAAA;EL0pDV;EKjqDM;IAOI,wBAAA;EL6pDV;EKpqDM;IAOI,yBAAA;ELgqDV;EKvqDM;IAOI,8BAAA;ELmqDV;EK1qDM;IAOI,iCAAA;ELsqDV;EK7qDM;IAOI,sCAAA;ELyqDV;EKhrDM;IAOI,yCAAA;EL4qDV;EKnrDM;IAOI,uBAAA;EL+qDV;EKtrDM;IAOI,uBAAA;ELkrDV;EKzrDM;IAOI,yBAAA;ELqrDV;EK5rDM;IAOI,yBAAA;ELwrDV;EK/rDM;IAOI,0BAAA;EL2rDV;EKlsDM;IAOI,4BAAA;EL8rDV;EKrsDM;IAOI,kCAAA;ELisDV;EKxsDM;IAOI,sCAAA;ELosDV;EK3sDM;IAOI,oCAAA;ELusDV;EK9sDM;IAOI,kCAAA;EL0sDV;EKjtDM;IAOI,yCAAA;EL6sDV;EKptDM;IAOI,wCAAA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nEV;EK/nEM;IAOI,yCAAA;EL2nEV;EKloEM;IAOI,uBAAA;EL8nEV;EKroEM;IAOI,uBAAA;ELioEV;EKxoEM;IAOI,yBAAA;ELooEV;EK3oEM;IAOI,yBAAA;ELuoEV;EK9oEM;IAOI,0BAAA;EL0oEV;EKjpEM;IAOI,4BAAA;EL6oEV;EKppEM;IAOI,kCAAA;ELgpEV;EKvpEM;IAOI,sCAAA;ELmpEV;EK1pEM;IAOI,oCAAA;ELspEV;EK7pEM;IAOI,kCAAA;ELypEV;EKhqEM;IAOI,yCAAA;EL4pEV;EKnqEM;IAOI,wCAAA;EL+pEV;EKtqEM;IAOI,wCAAA;ELkqEV;EKzqEM;IAOI,kCAAA;ELqqEV;EK5qEM;IAOI,gCAAA;ELwqEV;EK/qEM;IAOI,8BAAA;EL2qEV;EKlrEM;IAOI,gCAAA;EL8qEV;EKrrEM;IAOI,+BAAA;ELirEV;EKxrEM;IAOI,oCAAA;ELorEV;EK3rEM;IAOI,kCAAA;ELurEV;EK9rEM;IAOI,gCAAA;EL0rEV;EKjsEM;IAOI,uCAAA;EL6rEV;EKpsEM;IAOI,sCAAA;ELgsEV;EKvsEM;IAOI,iCAAA;ELmsEV;EK1sEM;IAOI,2BAAA;ELssEV;EK7sEM;IAOI,iCAAA;ELysEV;EKhtEM;IAOI,+BAAA;EL4sEV;EKntEM;IAOI,6BAAA;EL+sEV;EKttEM;IAOI,+BAAA;ELktEV;EKztEM;IAOI,8BAAA;ELqtEV;EK5tEM;IAOI,oBAAA;ELwtEV;EK/tEM;IAOI,mBAAA;EL2tEV;EKluEM;IAOI,mBAAA;EL8tEV;EKruEM;IAOI,mBAAA;ELiuEV;EKxuEM;IAOI,mBAAA;ELouEV;EK3uEM;IAOI,mBAAA;ELuuEV;EK9uEM;IAOI,mBAAA;EL0uEV;EKjvEM;IAOI,mBAAA;EL6uEV;EKpvEM;IAOI,oBAAA;ELgvEV;EKvvEM;IAOI,0BAAA;ELmvEV;EK1vEM;IAOI,yBAAA;ELsvEV;EK7vEM;IAOI,uBAAA;ELyvEV;EKhwEM;IAOI,yBAAA;EL4vEV;EKnwEM;IAOI,uBAAA;EL+vEV;EKtwEM;IAOI,uBAAA;ELkwEV;EKzwEM;IAOI,yBAAA;IAAA,0BAAA;ELswEV;EK7wEM;IAO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EKviFM;IAOI,yBAAA;ELmiFV;EK1iFM;IAOI,wBAAA;ELsiFV;EK7iFM;IAOI,+BAAA;ELyiFV;EKhjFM;IAOI,yBAAA;EL4iFV;EKnjFM;IAOI,6BAAA;EL+iFV;EKtjFM;IAOI,8BAAA;ELkjFV;EKzjFM;IAOI,wBAAA;ELqjFV;EK5jFM;IAOI,+BAAA;ELwjFV;EK/jFM;IAOI,wBAAA;EL2jFV;EKlkFM;IAOI,yBAAA;EL8jFV;EKrkFM;IAOI,8BAAA;ELikFV;EKxkFM;IAOI,iCAAA;ELokFV;EK3kFM;IAOI,sCAAA;ELukFV;EK9kFM;IAOI,yCAAA;EL0kFV;EKjlFM;IAOI,uBAAA;EL6kFV;EKplFM;IAOI,uBAAA;ELglFV;EKvlFM;IAOI,yBAAA;ELmlFV;EK1lFM;IAOI,yBAAA;ELslFV;EK7lFM;IAOI,0BAAA;ELylFV;EKhmFM;IAOI,4BAAA;EL4lFV;EKnmFM;IAOI,kCAAA;EL+lFV;EKtmFM;IAOI,sCAAA;ELkmFV;EKzmFM;IAOI,oCAAA;ELqmFV;EK5mFM;IAOI,kCAAA;ELwmFV;EK/mFM;IAOI,yCAAA;EL2mFV;EKlnFM;IAOI,wCAAA;EL8mFV;EKrnFM;IAOI,wCAAA;ELinFV;EKxnFM;IAOI,kCAAA;ELonFV;EK3nFM;IAOI,gCAAA;ELunFV;EK9nFM;IAOI,8BAAA;EL0nFV;EKjoFM;IAOI,gCAAA;EL6nFV;EKpoFM;IAOI,+BAAA;ELgoFV;EKvoFM;IAOI,oCAAA;ELmoFV;EK1oFM;IAOI,kCAAA;ELsoFV;EK7oFM;IAOI,gCAAA;ELyoFV;EKhpFM;IAOI,uCAAA;EL4oFV;EKnpFM;IAOI,sCAAA;EL+oFV;EKtpFM;IAOI,iCAAA;ELkpFV;EKzpFM;IAOI,2BAAA;ELqpFV;EK5pFM;IAOI,iCAAA;ELwpFV;EK/pFM;IAOI,+BAAA;EL2pFV;EKlqFM;IAOI,6BAAA;EL8pFV;EKrqFM;IAOI,+BAAA;ELiqFV;EKxqFM;IAOI,8BAAA;ELoqFV;EK3qFM;IAOI,oBAAA;ELuqFV;EK9qFM;IAOI,mBAAA;EL0qFV;EKjrFM;IAOI,mBAAA;EL6qFV;EKprFM;IAOI,mBAAA;ELgrFV;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AAA;ELy8FV;EKh9FM;IAOI,iCAAA;EL48FV;EKn9FM;IAOI,+BAAA;EL+8FV;EKt9FM;IAOI,iCAAA;ELk9FV;EKz9FM;IAOI,+BAAA;ELq9FV;EK59FM;IAOI,2BAAA;ELw9FV;EK/9FM;IAOI,iCAAA;EL29FV;EKl+FM;IAOI,gCAAA;EL89FV;EKr+FM;IAOI,8BAAA;ELi+FV;EKx+FM;IAOI,gCAAA;ELo+FV;EK3+FM;IAOI,8BAAA;ELu+FV;AACF;ACl/FI;EIGI;IAOI,0BAAA;EL4+FV;EKn/FM;IAOI,gCAAA;EL++FV;EKt/FM;IAOI,yBAAA;ELk/FV;EKz/FM;IAOI,wBAAA;ELq/FV;EK5/FM;IAOI,+BAAA;ELw/FV;EK//FM;IAOI,yBAAA;EL2/FV;EKlgGM;IAOI,6BAAA;EL8/FV;EKrgGM;IAOI,8BAAA;ELigGV;EKxgGM;IAOI,wBAAA;ELogGV;EK3gGM;IAOI,+BAAA;ELugGV;EK9gGM;IAOI,wBAAA;EL0gGV;EKjhGM;IAOI,yBAAA;EL6gGV;EKphGM;IAOI,8BAAA;ELghGV;EKvhGM;IAOI,iCAAA;ELmhGV;EK1hGM;IAOI,sCAAA;ELshGV;EK7hGM;IAOI,yCAAA;ELyhGV;EKhiGM;IAOI,uBAAA;EL4hGV;EKniGM;IAOI,uBAAA;EL+hGV;EKtiGM;IAOI,yBAAA;ELkiGV;EKziGM;IAOI,yBAAA;ELqiGV;EK5iGM;IAOI,0BAAA;ELwiGV;EK/iGM;IAOI,4BAAA;EL2iGV;EKljGM;IAOI,kCAAA;EL8iGV;EKrjGM;IAOI,sCAAA;ELijGV;EKxjGM;IAOI,oCAAA;ELojGV;EK3jGM;IAOI,kCAAA;ELujGV;EK9jGM;IAOI,yCAAA;EL0jGV;EKjkGM;IAOI,wCAAA;EL6jGV;EKpkGM;IAOI,wCAAA;ELgkGV;EKvkGM;IAOI,kCAAA;ELmkGV;EK1kGM;IAOI,gCAAA;ELskGV;EK7kGM;IAOI,8BAAA;ELykGV;EKhlGM;IAOI,gCAAA;EL4kGV;EKnlGM;IAOI,+BAAA;EL+kGV;EKtlGM;IAOI,oCAAA;ELklGV;EKzlGM;IAOI,kCAAA;ELqlGV;EK5lGM;IAOI,gCAAA;ELwlGV;EK/l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ELi3GV;EKx3GM;IAOI,+BAAA;ELo3GV;EK33GM;IAOI,8BAAA;ELu3GV;EK93GM;IAOI,4BAAA;EL03GV;EKj4GM;IAOI,8BAAA;EL63GV;EKp4GM;IAOI,4BAAA;ELg4GV;EKv4GM;IAOI,0BAAA;ELm4GV;EK14GM;IAOI,gCAAA;ELs4GV;EK74GM;IAOI,+BAAA;ELy4GV;EKh5GM;IAOI,6BAAA;EL44GV;EKn5GM;IAOI,+BAAA;EL+4GV;EKt5GM;IAOI,6BAAA;ELk5GV;EKz5GM;IAOI,4BAAA;ELq5GV;EK55GM;IAOI,kCAAA;ELw5GV;EK/5GM;IAOI,iCAAA;EL25GV;EKl6GM;IAOI,+BAAA;EL85GV;EKr6GM;IAOI,iCAAA;ELi6GV;EKx6GM;IAOI,+BAAA;ELo6GV;EK36GM;IAOI,2BAAA;ELu6GV;EK96GM;IAOI,iCAAA;EL06GV;EKj7GM;IAOI,gCAAA;EL66GV;EKp7GM;IAOI,8BAAA;ELg7GV;EKv7GM;IAOI,gCAAA;ELm7GV;EK17GM;IAOI,8BAAA;ELs7GV;AACF;ACj8GI;EIGI;IAOI,0BAAA;EL27GV;EKl8GM;IAOI,gCAAA;EL87GV;EKr8GM;IAOI,yBAAA;ELi8GV;EKx8GM;IAOI,wBAAA;ELo8GV;EK38GM;IAOI,+BAAA;ELu8GV;EK98GM;IAOI,yBAAA;EL08GV;EKj9GM;IAOI,6BAAA;EL68GV;EKp9GM;IAOI,8BAAA;ELg9GV;EKv9GM;IAOI,wBAAA;ELm9GV;EK19GM;IAOI,+BAAA;ELs9GV;EK79GM;IAOI,wBAAA;ELy9GV;EKh+GM;IAOI,yBAAA;EL49GV;EKn+GM;IAOI,8BAAA;EL+9GV;EKt+GM;IAOI,iCAAA;ELk+GV;EKz+GM;IAOI,sCAAA;ELq+GV;EK5+GM;IAOI,yCAAA;ELw+GV;EK/+GM;IAOI,uBAAA;EL2+GV;EKl/GM;IAOI,uBAAA;EL8+GV;EKr/GM;IAOI,yBAAA;ELi/GV;EKx/GM;IAOI,yBAAA;ELo/GV;EK3/GM;IAOI,0BAAA;ELu/GV;EK9/GM;IAOI,4BAAA;EL0/GV;EKjgHM;IAOI,kCAAA;EL6/GV;EKpgHM;IAOI,sCAAA;ELggHV;EKvgHM;I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","file":"bootstrap-grid.rtl.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","/*!\n * Bootstrap Grid v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"black\": $black,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n \"blue-100\": $blue-100,\n \"blue-200\": $blue-200,\n \"blue-300\": $blue-300,\n \"blue-400\": $blue-400,\n \"blue-500\": $blue-500,\n \"blue-600\": $blue-600,\n \"blue-700\": $blue-700,\n \"blue-800\": $blue-800,\n \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n \"indigo-100\": $indigo-100,\n \"indigo-200\": $indigo-200,\n \"indigo-300\": $indigo-300,\n \"indigo-400\": $indigo-400,\n \"indigo-500\": $indigo-500,\n \"indigo-600\": $indigo-600,\n \"indigo-700\": $indigo-700,\n \"indigo-800\": $indigo-800,\n \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n \"purple-100\": $purple-100,\n \"purple-200\": $purple-200,\n \"purple-300\": $purple-300,\n \"purple-400\": $purple-400,\n \"purple-500\": $purple-500,\n \"purple-600\": $purple-600,\n \"purple-700\": $purple-700,\n \"purple-800\": $purple-800,\n \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n \"pink-100\": $pink-100,\n \"pink-200\": $pink-200,\n \"pink-300\": $pink-300,\n \"pink-400\": $pink-400,\n \"pink-500\": $pink-500,\n \"pink-600\": $pink-600,\n \"pink-700\": $pink-700,\n \"pink-800\": $pink-800,\n \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n \"red-100\": $red-100,\n \"red-200\": $red-200,\n \"red-300\": $red-300,\n \"red-400\": $red-400,\n \"red-500\": $red-500,\n \"red-600\": $red-600,\n \"red-700\": $red-700,\n \"red-800\": $red-800,\n \"red-900\": $red-900\n) !default;\n\n$oranges: (\n \"orange-100\": $orange-100,\n \"orange-200\": $orange-200,\n \"orange-300\": $orange-300,\n \"orange-400\": $orange-400,\n \"orange-500\": $orange-500,\n \"orange-600\": $orange-600,\n \"orange-700\": $orange-700,\n \"orange-800\": $orange-800,\n \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n \"yellow-100\": $yellow-100,\n \"yellow-200\": $yellow-200,\n \"yellow-300\": $yellow-300,\n \"yellow-400\": $yellow-400,\n \"yellow-500\": $yellow-500,\n \"yellow-600\": $yellow-600,\n \"yellow-700\": $yellow-700,\n \"yellow-800\": $yellow-800,\n \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n \"green-100\": $green-100,\n \"green-200\": $green-200,\n \"green-300\": $green-300,\n \"green-400\": $green-400,\n \"green-500\": $green-500,\n \"green-600\": $green-600,\n \"green-700\": $green-700,\n \"green-800\": $green-800,\n \"green-900\": $green-900\n) !default;\n\n$teals: (\n \"teal-100\": $teal-100,\n \"teal-200\": $teal-200,\n \"teal-300\": $teal-300,\n \"teal-400\": $teal-400,\n \"teal-500\": $teal-500,\n \"teal-600\": $teal-600,\n \"teal-700\": $teal-700,\n \"teal-800\": $teal-800,\n \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n \"cyan-100\": $cyan-100,\n \"cyan-200\": $cyan-200,\n \"cyan-300\": $cyan-300,\n \"cyan-400\": $cyan-400,\n \"cyan-500\": $cyan-500,\n \"cyan-600\": $cyan-600,\n \"cyan-700\": $cyan-700,\n \"cyan-800\": $cyan-800,\n \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// scss-docs-start theme-text-variables\n$primary-text-emphasis: shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis: shade-color($success, 60%) !default;\n$info-text-emphasis: shade-color($info, 60%) !default;\n$warning-text-emphasis: shade-color($warning, 60%) !default;\n$danger-text-emphasis: shade-color($danger, 60%) !default;\n$light-text-emphasis: $gray-700 !default;\n$dark-text-emphasis: $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle: tint-color($primary, 80%) !default;\n$secondary-bg-subtle: tint-color($secondary, 80%) !default;\n$success-bg-subtle: tint-color($success, 80%) !default;\n$info-bg-subtle: tint-color($info, 80%) !default;\n$warning-bg-subtle: tint-color($warning, 80%) !default;\n$danger-bg-subtle: tint-color($danger, 80%) !default;\n$light-bg-subtle: mix($gray-100, $white) !default;\n$dark-bg-subtle: $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle: tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle: tint-color($success, 60%) !default;\n$info-border-subtle: tint-color($info, 60%) !default;\n$warning-border-subtle: tint-color($warning, 60%) !default;\n$danger-border-subtle: tint-color($danger, 60%) !default;\n$light-border-subtle: $gray-200 !default;\n$dark-border-subtle: $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`\n$prefix: $variable-prefix !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `` element.\n\n$body-text-align: null !default;\n$body-color: $gray-900 !default;\n$body-bg: $white !default;\n\n$body-secondary-color: rgba($body-color, .75) !default;\n$body-secondary-bg: $gray-200 !default;\n\n$body-tertiary-color: rgba($body-color, .5) !default;\n$body-tertiary-bg: $gray-100 !default;\n\n$body-emphasis-color: $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap: .375rem !default;\n$icon-link-underline-offset: .25em !default;\n$icon-link-icon-size: 1em !default;\n$icon-link-icon-transition: .2s ease-in-out transform !default;\n$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: $gray-300 !default;\n$border-color-translucent: rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .375rem !default;\n$border-radius-sm: .25rem !default;\n$border-radius-lg: .5rem !default;\n$border-radius-xl: 1rem !default;\n$border-radius-xxl: 2rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl: $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width: .25rem !default;\n$focus-ring-opacity: .25 !default;\n$focus-ring-color: rgba($primary, $focus-ring-opacity) !default;\n$focus-ring-blur: 0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-medium: 500 !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style: null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n// fusv-disable\n$text-muted: var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n\n// fusv-disable\n$hr-bg-color: null !default; // Deprecated in v5.2.0\n$hr-height: null !default; // Deprecated in v5.2.0\n// fusv-enable\n\n$hr-border-color: null !default; // Allows for inherited colors\n$hr-border-width: var(--#{$prefix}border-width) !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-padding: .1875em !default;\n$mark-bg: $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: var(--#{$prefix}body-color) !default;\n$table-bg: var(--#{$prefix}body-bg) !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: var(--#{$prefix}border-width) !default;\n$table-border-color: var(--#{$prefix}border-color) !default;\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n$table-caption-color: var(--#{$prefix}secondary-color) !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": shift-color($primary, $table-bg-scale),\n \"secondary\": shift-color($secondary, $table-bg-scale),\n \"success\": shift-color($success, $table-bg-scale),\n \"info\": shift-color($info, $table-bg-scale),\n \"warning\": shift-color($warning, $table-bg-scale),\n \"danger\": shift-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: $focus-ring-width !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color: $focus-ring-color !default;\n$input-btn-focus-blur: $focus-ring-blur !default;\n$input-btn-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color: var(--#{$prefix}body-color) !default;\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: var(--#{$prefix}link-color) !default;\n$btn-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: var(--#{$prefix}body-bg) !default;\n$input-disabled-color: null !default;\n$input-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color: null !default;\n\n$input-color: var(--#{$prefix}body-color) !default;\n$input-border-color: var(--#{$prefix}border-color) !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color: var(--#{$prefix}body-color) !default;\n\n$input-height-border: calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba($black, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: var(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $input-disabled-bg !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $input-border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-border-radius-sm: $input-border-radius-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-border-radius-lg: $input-border-radius-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: var(--#{$prefix}tertiary-bg) !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: var(--#{$prefix}secondary-color) !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-height: 1.5em !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color: $gray-600 !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--#{$prefix}form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}success),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-valid-border-color),\n ),\n \"invalid\": (\n \"color\": var(--#{$prefix}form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}danger),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-invalid-border-color),\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: var(--#{$prefix}link-color) !default;\n$nav-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: var(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color: var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width: var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color: var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg: var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-underline-gap: 1rem !default;\n$nav-underline-border-width: .125rem !default;\n$nav-underline-link-active-color: var(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-light-color: rgba(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color: rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color: rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color: rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color: rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !default;\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: var(--#{$prefix}body-color) !default;\n$dropdown-bg: var(--#{$prefix}body-bg) !default;\n$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius: var(--#{$prefix}border-radius) !default;\n$dropdown-border-width: var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color: $dropdown-link-color !default;\n$dropdown-link-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: var(--#{$prefix}tertiary-color) !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding-x: $dropdown-item-padding-x !default;\n$dropdown-header-padding-y: $dropdown-padding-y !default;\n// fusv-disable\n$dropdown-header-padding: $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0\n// fusv-enable\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-font-size: $font-size-base !default;\n\n$pagination-color: var(--#{$prefix}link-color) !default;\n$pagination-bg: var(--#{$prefix}body-bg) !default;\n$pagination-border-radius: var(--#{$prefix}border-radius) !default;\n$pagination-border-width: var(--#{$prefix}border-width) !default;\n$pagination-margin-start: calc(#{$pagination-border-width} * -1) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow: $focus-ring-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color: var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $component-active-bg !default;\n\n$pagination-disabled-color: var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-title-color: null !default;\n$card-subtitle-color: null !default;\n$card-border-width: var(--#{$prefix}border-width) !default;\n$card-border-color: var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius: var(--#{$prefix}border-radius) !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: var(--#{$prefix}body-bg) !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: var(--#{$prefix}body-color) !default;\n$accordion-bg: var(--#{$prefix}body-bg) !default;\n$accordion-border-width: var(--#{$prefix}border-width) !default;\n$accordion-border-color: var(--#{$prefix}border-color) !default;\n$accordion-border-radius: var(--#{$prefix}border-radius) !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: var(--#{$prefix}body-color) !default;\n$accordion-button-bg: var(--#{$prefix}accordion-bg) !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $body-color !default;\n$accordion-icon-active-color: $primary-text-emphasis !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: var(--#{$prefix}body-bg) !default;\n$tooltip-bg: var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius: var(--#{$prefix}border-radius) !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: null !default; // TODO: remove this in v6\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n// fusv-disable\n$tooltip-arrow-color: null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables\n// fusv-enable\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: var(--#{$prefix}body-bg) !default;\n$popover-max-width: 276px !default;\n$popover-border-width: var(--#{$prefix}border-width) !default;\n$popover-border-color: var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-font-size: $font-size-base !default;\n$popover-header-bg: var(--#{$prefix}secondary-bg) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: var(--#{$prefix}body-color) !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n// scss-docs-end popover-variables\n\n// fusv-disable\n// Deprecated in Bootstrap 5.2.0 for CSS variables\n$popover-arrow-color: $popover-bg !default;\n$popover-arrow-outer-color: var(--#{$prefix}border-color-translucent) !default;\n// fusv-enable\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width: var(--#{$prefix}border-width) !default;\n$toast-border-color: var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius: var(--#{$prefix}border-radius) !default;\n$toast-box-shadow: var(--#{$prefix}box-shadow) !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color: $toast-border-color !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: var(--#{$prefix}body-bg) !default;\n$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width: var(--#{$prefix}border-width) !default;\n$modal-content-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n\n$modal-header-border-color: var(--#{$prefix}border-color) !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg: null !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: var(--#{$prefix}border-width) !default;\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n// fusv-disable\n$alert-bg-scale: -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale: -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale: 40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius: var(--#{$prefix}border-radius) !default;\n$progress-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: var(--#{$prefix}body-color) !default;\n$list-group-bg: var(--#{$prefix}body-bg) !default;\n$list-group-border-color: var(--#{$prefix}border-color) !default;\n$list-group-border-width: var(--#{$prefix}border-width) !default;\n$list-group-border-radius: var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale: -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale: 40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color: var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color: var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width: var(--#{$prefix}border-width) !default;\n$thumbnail-border-color: var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius: var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow: var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-dark-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,\") !default;\n$btn-close-focus-shadow: $focus-ring-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: var(--#{$prefix}body-bg) !default;\n$offcanvas-color: var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .1875rem !default;\n$kbd-padding-x: .375rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: var(--#{$prefix}body-bg) !default;\n$kbd-bg: var(--#{$prefix}body-color) !default;\n$nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: divide(100%, $count);\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css new file mode 100644 index 000000000..07ebd269f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap Grid v5.3.0 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-left:calc(var(--bs-gutter-x) * .5);padding-right:calc(var(--bs-gutter-x) * .5);margin-left:auto;margin-right:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-left:calc(-.5 * var(--bs-gutter-x));margin-right:calc(-.5 * var(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-left:calc(var(--bs-gutter-x) * .5);padding-right:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-right:8.33333333%}.offset-2{margin-right:16.66666667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.33333333%}.offset-5{margin-right:41.66666667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.33333333%}.offset-8{margin-right:66.66666667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.33333333%}.offset-11{margin-right:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-right:0}.offset-sm-1{margin-right:8.33333333%}.offset-sm-2{margin-right:16.66666667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.33333333%}.offset-sm-5{margin-right:41.66666667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.33333333%}.offset-sm-8{margin-right:66.66666667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.33333333%}.offset-sm-11{margin-right:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-right:0}.offset-md-1{margin-right:8.33333333%}.offset-md-2{margin-right:16.66666667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.33333333%}.offset-md-5{margin-right:41.66666667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.33333333%}.offset-md-8{margin-right:66.66666667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.33333333%}.offset-md-11{margin-right:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-right:0}.offset-lg-1{margin-right:8.33333333%}.offset-lg-2{margin-right:16.66666667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.33333333%}.offset-lg-5{margin-right:41.66666667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.33333333%}.offset-lg-8{margin-right:66.66666667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.33333333%}.offset-lg-11{margin-right:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-right:0}.offset-xl-1{margin-right:8.33333333%}.offset-xl-2{margin-right:16.66666667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.33333333%}.offset-xl-5{margin-right:41.66666667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.33333333%}.offset-xl-8{margin-right:66.66666667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.33333333%}.offset-xl-11{margin-right:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-right:0}.offset-xxl-1{margin-right:8.33333333%}.offset-xxl-2{margin-right:16.66666667%}.offset-xxl-3{margin-right:25%}.offset-xxl-4{margin-right:33.33333333%}.offset-xxl-5{margin-right:41.66666667%}.offset-xxl-6{margin-right:50%}.offset-xxl-7{margin-right:58.33333333%}.offset-xxl-8{margin-right:66.66666667%}.offset-xxl-9{margin-right:75%}.offset-xxl-10{margin-right:83.33333333%}.offset-xxl-11{margin-right:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:3rem!important;margin-right:3rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-left:0!important}.me-1{margin-left:.25rem!important}.me-2{margin-left:.5rem!important}.me-3{margin-left:1rem!important}.me-4{margin-left:1.5rem!important}.me-5{margin-left:3rem!important}.me-auto{margin-left:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-right:0!important}.ms-1{margin-right:.25rem!important}.ms-2{margin-right:.5rem!important}.ms-3{margin-right:1rem!important}.ms-4{margin-right:1.5rem!important}.ms-5{margin-right:3rem!important}.ms-auto{margin-right:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:3rem!important;padding-right:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-left:0!important}.pe-1{padding-left:.25rem!important}.pe-2{padding-left:.5rem!important}.pe-3{padding-left:1rem!important}.pe-4{padding-left:1.5rem!important}.pe-5{padding-left:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-right:0!important}.ps-1{padding-right:.25rem!important}.ps-2{padding-right:.5rem!important}.ps-3{padding-right:1rem!important}.ps-4{padding-right:1.5rem!important}.ps-5{padding-right:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-left:0!important}.me-sm-1{margin-left:.25rem!important}.me-sm-2{margin-left:.5rem!important}.me-sm-3{margin-left:1rem!important}.me-sm-4{margin-left:1.5rem!important}.me-sm-5{margin-left:3rem!important}.me-sm-auto{margin-left:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-right:0!important}.ms-sm-1{margin-right:.25rem!important}.ms-sm-2{margin-right:.5rem!important}.ms-sm-3{margin-right:1rem!important}.ms-sm-4{margin-right:1.5rem!important}.ms-sm-5{margin-right:3rem!important}.ms-sm-auto{margin-right:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:3rem!important;padding-right:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-left:0!important}.pe-sm-1{padding-left:.25rem!important}.pe-sm-2{padding-left:.5rem!important}.pe-sm-3{padding-left:1rem!important}.pe-sm-4{padding-left:1.5rem!important}.pe-sm-5{padding-left:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-right:0!important}.ps-sm-1{padding-right:.25rem!important}.ps-sm-2{padding-right:.5rem!important}.ps-sm-3{padding-right:1rem!important}.ps-sm-4{padding-right:1.5rem!important}.ps-sm-5{padding-right:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-left:0!important}.me-md-1{margin-left:.25rem!important}.me-md-2{margin-left:.5rem!important}.me-md-3{margin-left:1rem!important}.me-md-4{margin-left:1.5rem!important}.me-md-5{margin-left:3rem!important}.me-md-auto{margin-left:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-right:0!important}.ms-md-1{margin-right:.25rem!important}.ms-md-2{margin-right:.5rem!important}.ms-md-3{margin-right:1rem!important}.ms-md-4{margin-right:1.5rem!important}.ms-md-5{margin-right:3rem!important}.ms-md-auto{margin-right:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:3rem!important;padding-right:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-left:0!important}.pe-md-1{padding-left:.25rem!important}.pe-md-2{padding-left:.5rem!important}.pe-md-3{padding-left:1rem!important}.pe-md-4{padding-left:1.5rem!important}.pe-md-5{padding-left:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-right:0!important}.ps-md-1{padding-right:.25rem!important}.ps-md-2{padding-right:.5rem!important}.ps-md-3{padding-right:1rem!important}.ps-md-4{padding-right:1.5rem!important}.ps-md-5{padding-right:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-left:0!important}.me-lg-1{margin-left:.25rem!important}.me-lg-2{margin-left:.5rem!important}.me-lg-3{margin-left:1rem!important}.me-lg-4{margin-left:1.5rem!important}.me-lg-5{margin-left:3rem!important}.me-lg-auto{margin-left:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-right:0!important}.ms-lg-1{margin-right:.25rem!important}.ms-lg-2{margin-right:.5rem!important}.ms-lg-3{margin-right:1rem!important}.ms-lg-4{margin-right:1.5rem!important}.ms-lg-5{margin-right:3rem!important}.ms-lg-auto{margin-right:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:3rem!important;padding-right:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-left:0!important}.pe-lg-1{padding-left:.25rem!important}.pe-lg-2{padding-left:.5rem!important}.pe-lg-3{padding-left:1rem!important}.pe-lg-4{padding-left:1.5rem!important}.pe-lg-5{padding-left:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-right:0!important}.ps-lg-1{padding-right:.25rem!important}.ps-lg-2{padding-right:.5rem!important}.ps-lg-3{padding-right:1rem!important}.ps-lg-4{padding-right:1.5rem!important}.ps-lg-5{padding-right:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-left:0!important}.me-xl-1{margin-left:.25rem!important}.me-xl-2{margin-left:.5rem!important}.me-xl-3{margin-left:1rem!important}.me-xl-4{margin-left:1.5rem!important}.me-xl-5{margin-left:3rem!important}.me-xl-auto{margin-left:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-right:0!important}.ms-xl-1{margin-right:.25rem!important}.ms-xl-2{margin-right:.5rem!important}.ms-xl-3{margin-right:1rem!important}.ms-xl-4{margin-right:1.5rem!important}.ms-xl-5{margin-right:3rem!important}.ms-xl-auto{margin-right:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-left:0!important}.pe-xl-1{padding-left:.25rem!important}.pe-xl-2{padding-left:.5rem!important}.pe-xl-3{padding-left:1rem!important}.pe-xl-4{padding-left:1.5rem!important}.pe-xl-5{padding-left:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-right:0!important}.ps-xl-1{padding-right:.25rem!important}.ps-xl-2{padding-right:.5rem!important}.ps-xl-3{padding-right:1rem!important}.ps-xl-4{padding-right:1.5rem!important}.ps-xl-5{padding-right:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-left:0!important}.me-xxl-1{margin-left:.25rem!important}.me-xxl-2{margin-left:.5rem!important}.me-xxl-3{margin-left:1rem!important}.me-xxl-4{margin-left:1.5rem!important}.me-xxl-5{margin-left:3rem!important}.me-xxl-auto{margin-left:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-right:0!important}.ms-xxl-1{margin-right:.25rem!important}.ms-xxl-2{margin-right:.5rem!important}.ms-xxl-3{margin-right:1rem!important}.ms-xxl-4{margin-right:1.5rem!important}.ms-xxl-5{margin-right:3rem!important}.ms-xxl-auto{margin-right:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-left:0!important}.pe-xxl-1{padding-left:.25rem!important}.pe-xxl-2{padding-left:.5rem!important}.pe-xxl-3{padding-left:1rem!important}.pe-xxl-4{padding-left:1.5rem!important}.pe-xxl-5{padding-left:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-right:0!important}.ps-xxl-1{padding-right:.25rem!important}.ps-xxl-2{padding-right:.5rem!important}.ps-xxl-3{padding-right:1rem!important}.ps-xxl-4{padding-right:1.5rem!important}.ps-xxl-5{padding-right:3rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap-grid.rtl.min.css.map */ \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css.map b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css.map new file mode 100644 index 000000000..a0b721a01 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.rtl.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","/*!\n * Bootstrap Grid v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n margin-left: auto;\n margin-right: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-right: 8.33333333%;\n}\n\n.offset-2 {\n margin-right: 16.66666667%;\n}\n\n.offset-3 {\n margin-right: 25%;\n}\n\n.offset-4 {\n margin-right: 33.33333333%;\n}\n\n.offset-5 {\n margin-right: 41.66666667%;\n}\n\n.offset-6 {\n margin-right: 50%;\n}\n\n.offset-7 {\n margin-right: 58.33333333%;\n}\n\n.offset-8 {\n margin-right: 66.66666667%;\n}\n\n.offset-9 {\n margin-right: 75%;\n}\n\n.offset-10 {\n margin-right: 83.33333333%;\n}\n\n.offset-11 {\n margin-right: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-right: 0;\n }\n .offset-sm-1 {\n margin-right: 8.33333333%;\n }\n .offset-sm-2 {\n margin-right: 16.66666667%;\n }\n .offset-sm-3 {\n margin-right: 25%;\n }\n .offset-sm-4 {\n margin-right: 33.33333333%;\n }\n .offset-sm-5 {\n margin-right: 41.66666667%;\n }\n .offset-sm-6 {\n margin-right: 50%;\n }\n .offset-sm-7 {\n margin-right: 58.33333333%;\n }\n .offset-sm-8 {\n margin-right: 66.66666667%;\n }\n .offset-sm-9 {\n margin-right: 75%;\n }\n .offset-sm-10 {\n margin-right: 83.33333333%;\n }\n .offset-sm-11 {\n margin-right: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-right: 0;\n }\n .offset-md-1 {\n margin-right: 8.33333333%;\n }\n .offset-md-2 {\n margin-right: 16.66666667%;\n }\n .offset-md-3 {\n margin-right: 25%;\n }\n .offset-md-4 {\n margin-right: 33.33333333%;\n }\n .offset-md-5 {\n margin-right: 41.66666667%;\n }\n .offset-md-6 {\n margin-right: 50%;\n }\n .offset-md-7 {\n margin-right: 58.33333333%;\n }\n .offset-md-8 {\n margin-right: 66.66666667%;\n }\n .offset-md-9 {\n margin-right: 75%;\n }\n .offset-md-10 {\n margin-right: 83.33333333%;\n }\n .offset-md-11 {\n margin-right: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-right: 0;\n }\n .offset-lg-1 {\n margin-right: 8.33333333%;\n }\n .offset-lg-2 {\n margin-right: 16.66666667%;\n }\n .offset-lg-3 {\n margin-right: 25%;\n }\n .offset-lg-4 {\n margin-right: 33.33333333%;\n }\n .offset-lg-5 {\n margin-right: 41.66666667%;\n }\n .offset-lg-6 {\n margin-right: 50%;\n }\n .offset-lg-7 {\n margin-right: 58.33333333%;\n }\n .offset-lg-8 {\n margin-right: 66.66666667%;\n }\n .offset-lg-9 {\n margin-right: 75%;\n }\n .offset-lg-10 {\n margin-right: 83.33333333%;\n }\n .offset-lg-11 {\n margin-right: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-right: 0;\n }\n .offset-xl-1 {\n margin-right: 8.33333333%;\n }\n .offset-xl-2 {\n margin-right: 16.66666667%;\n }\n .offset-xl-3 {\n margin-right: 25%;\n }\n .offset-xl-4 {\n margin-right: 33.33333333%;\n }\n .offset-xl-5 {\n margin-right: 41.66666667%;\n }\n .offset-xl-6 {\n margin-right: 50%;\n }\n .offset-xl-7 {\n margin-right: 58.33333333%;\n }\n .offset-xl-8 {\n margin-right: 66.66666667%;\n }\n .offset-xl-9 {\n margin-right: 75%;\n }\n .offset-xl-10 {\n margin-right: 83.33333333%;\n }\n .offset-xl-11 {\n margin-right: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-right: 0;\n }\n .offset-xxl-1 {\n margin-right: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-right: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-right: 25%;\n }\n .offset-xxl-4 {\n margin-right: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-right: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-right: 50%;\n }\n .offset-xxl-7 {\n margin-right: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-right: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-right: 75%;\n }\n .offset-xxl-10 {\n margin-right: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-right: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.mx-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.mx-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-left: 0 !important;\n}\n\n.me-1 {\n margin-left: 0.25rem !important;\n}\n\n.me-2 {\n margin-left: 0.5rem !important;\n}\n\n.me-3 {\n margin-left: 1rem !important;\n}\n\n.me-4 {\n margin-left: 1.5rem !important;\n}\n\n.me-5 {\n margin-left: 3rem !important;\n}\n\n.me-auto {\n margin-left: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-right: 0 !important;\n}\n\n.ms-1 {\n margin-right: 0.25rem !important;\n}\n\n.ms-2 {\n margin-right: 0.5rem !important;\n}\n\n.ms-3 {\n margin-right: 1rem !important;\n}\n\n.ms-4 {\n margin-right: 1.5rem !important;\n}\n\n.ms-5 {\n margin-right: 3rem !important;\n}\n\n.ms-auto {\n margin-right: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.px-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-left: 0 !important;\n}\n\n.pe-1 {\n padding-left: 0.25rem !important;\n}\n\n.pe-2 {\n padding-left: 0.5rem !important;\n}\n\n.pe-3 {\n padding-left: 1rem !important;\n}\n\n.pe-4 {\n padding-left: 1.5rem !important;\n}\n\n.pe-5 {\n padding-left: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-right: 0 !important;\n}\n\n.ps-1 {\n padding-right: 0.25rem !important;\n}\n\n.ps-2 {\n padding-right: 0.5rem !important;\n}\n\n.ps-3 {\n padding-right: 1rem !important;\n}\n\n.ps-4 {\n padding-right: 1.5rem !important;\n}\n\n.ps-5 {\n padding-right: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-sm-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-left: 0 !important;\n }\n .me-sm-1 {\n margin-left: 0.25rem !important;\n }\n .me-sm-2 {\n margin-left: 0.5rem !important;\n }\n .me-sm-3 {\n margin-left: 1rem !important;\n }\n .me-sm-4 {\n margin-left: 1.5rem !important;\n }\n .me-sm-5 {\n margin-left: 3rem !important;\n }\n .me-sm-auto {\n margin-left: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-right: 0 !important;\n }\n .ms-sm-1 {\n margin-right: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-right: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-right: 1rem !important;\n }\n .ms-sm-4 {\n margin-right: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-right: 3rem !important;\n }\n .ms-sm-auto {\n margin-right: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-sm-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-sm-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-sm-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-sm-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-sm-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-left: 0 !important;\n }\n .pe-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-left: 1rem !important;\n }\n .pe-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-left: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-right: 0 !important;\n }\n .ps-sm-1 {\n padding-right: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-right: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-right: 1rem !important;\n }\n .ps-sm-4 {\n padding-right: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-md-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-md-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-md-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-md-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-md-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-md-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-left: 0 !important;\n }\n .me-md-1 {\n margin-left: 0.25rem !important;\n }\n .me-md-2 {\n margin-left: 0.5rem !important;\n }\n .me-md-3 {\n margin-left: 1rem !important;\n }\n .me-md-4 {\n margin-left: 1.5rem !important;\n }\n .me-md-5 {\n margin-left: 3rem !important;\n }\n .me-md-auto {\n margin-left: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-right: 0 !important;\n }\n .ms-md-1 {\n margin-right: 0.25rem !important;\n }\n .ms-md-2 {\n margin-right: 0.5rem !important;\n }\n .ms-md-3 {\n margin-right: 1rem !important;\n }\n .ms-md-4 {\n margin-right: 1.5rem !important;\n }\n .ms-md-5 {\n margin-right: 3rem !important;\n }\n .ms-md-auto {\n margin-right: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-md-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-md-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-md-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-md-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-md-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-left: 0 !important;\n }\n .pe-md-1 {\n padding-left: 0.25rem !important;\n }\n .pe-md-2 {\n padding-left: 0.5rem !important;\n }\n .pe-md-3 {\n padding-left: 1rem !important;\n }\n .pe-md-4 {\n padding-left: 1.5rem !important;\n }\n .pe-md-5 {\n padding-left: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-right: 0 !important;\n }\n .ps-md-1 {\n padding-right: 0.25rem !important;\n }\n .ps-md-2 {\n padding-right: 0.5rem !important;\n }\n .ps-md-3 {\n padding-right: 1rem !important;\n }\n .ps-md-4 {\n padding-right: 1.5rem !important;\n }\n .ps-md-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-lg-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-left: 0 !important;\n }\n .me-lg-1 {\n margin-left: 0.25rem !important;\n }\n .me-lg-2 {\n margin-left: 0.5rem !important;\n }\n .me-lg-3 {\n margin-left: 1rem !important;\n }\n .me-lg-4 {\n margin-left: 1.5rem !important;\n }\n .me-lg-5 {\n margin-left: 3rem !important;\n }\n .me-lg-auto {\n margin-left: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-right: 0 !important;\n }\n .ms-lg-1 {\n margin-right: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-right: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-right: 1rem !important;\n }\n .ms-lg-4 {\n margin-right: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-right: 3rem !important;\n }\n .ms-lg-auto {\n margin-right: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-lg-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-lg-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-lg-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-lg-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-lg-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-left: 0 !important;\n }\n .pe-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-left: 1rem !important;\n }\n .pe-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-left: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-right: 0 !important;\n }\n .ps-lg-1 {\n padding-right: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-right: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-right: 1rem !important;\n }\n .ps-lg-4 {\n padding-right: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-xl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-left: 0 !important;\n }\n .me-xl-1 {\n margin-left: 0.25rem !important;\n }\n .me-xl-2 {\n margin-left: 0.5rem !important;\n }\n .me-xl-3 {\n margin-left: 1rem !important;\n }\n .me-xl-4 {\n margin-left: 1.5rem !important;\n }\n .me-xl-5 {\n margin-left: 3rem !important;\n }\n .me-xl-auto {\n margin-left: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-right: 0 !important;\n }\n .ms-xl-1 {\n margin-right: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-right: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-right: 1rem !important;\n }\n .ms-xl-4 {\n margin-right: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-right: 3rem !important;\n }\n .ms-xl-auto {\n margin-right: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-xl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-xl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-left: 0 !important;\n }\n .pe-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-left: 1rem !important;\n }\n .pe-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-left: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-right: 0 !important;\n }\n .ps-xl-1 {\n padding-right: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-right: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-right: 1rem !important;\n }\n .ps-xl-4 {\n padding-right: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-xxl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xxl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-xxl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-left: 0 !important;\n }\n .me-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-left: 1rem !important;\n }\n .me-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-left: 3rem !important;\n }\n .me-xxl-auto {\n margin-left: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-right: 0 !important;\n }\n .ms-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-right: 1rem !important;\n }\n .ms-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-right: 3rem !important;\n }\n .ms-xxl-auto {\n margin-right: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-xxl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xxl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-left: 0 !important;\n }\n .pe-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-left: 1rem !important;\n }\n .pe-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-left: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-right: 0 !important;\n }\n .ps-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-right: 1rem !important;\n }\n .ps-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-right: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.rtl.css.map */","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: divide(100%, $count);\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css new file mode 100644 index 000000000..f3f1d0516 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css @@ -0,0 +1,593 @@ +/*! + * Bootstrap Reboot v5.3.0 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root, +[data-bs-theme=light] { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-primary-text-emphasis: #052c65; + --bs-secondary-text-emphasis: #2b2f32; + --bs-success-text-emphasis: #0a3622; + --bs-info-text-emphasis: #055160; + --bs-warning-text-emphasis: #664d03; + --bs-danger-text-emphasis: #58151c; + --bs-light-text-emphasis: #495057; + --bs-dark-text-emphasis: #495057; + --bs-primary-bg-subtle: #cfe2ff; + --bs-secondary-bg-subtle: #e2e3e5; + --bs-success-bg-subtle: #d1e7dd; + --bs-info-bg-subtle: #cff4fc; + --bs-warning-bg-subtle: #fff3cd; + --bs-danger-bg-subtle: #f8d7da; + --bs-light-bg-subtle: #fcfcfd; + --bs-dark-bg-subtle: #ced4da; + --bs-primary-border-subtle: #9ec5fe; + --bs-secondary-border-subtle: #c4c8cb; + --bs-success-border-subtle: #a3cfbb; + --bs-info-border-subtle: #9eeaf9; + --bs-warning-border-subtle: #ffe69c; + --bs-danger-border-subtle: #f1aeb5; + --bs-light-border-subtle: #e9ecef; + --bs-dark-border-subtle: #adb5bd; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #212529; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg: #fff; + --bs-body-bg-rgb: 255, 255, 255; + --bs-emphasis-color: #000; + --bs-emphasis-color-rgb: 0, 0, 0; + --bs-secondary-color: rgba(33, 37, 41, 0.75); + --bs-secondary-color-rgb: 33, 37, 41; + --bs-secondary-bg: #e9ecef; + --bs-secondary-bg-rgb: 233, 236, 239; + --bs-tertiary-color: rgba(33, 37, 41, 0.5); + --bs-tertiary-color-rgb: 33, 37, 41; + --bs-tertiary-bg: #f8f9fa; + --bs-tertiary-bg-rgb: 248, 249, 250; + --bs-heading-color: inherit; + --bs-link-color: #0d6efd; + --bs-link-color-rgb: 13, 110, 253; + --bs-link-decoration: underline; + --bs-link-hover-color: #0a58ca; + --bs-link-hover-color-rgb: 10, 88, 202; + --bs-code-color: #d63384; + --bs-highlight-bg: #fff3cd; + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #dee2e6; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-xxl: 2rem; + --bs-border-radius-2xl: var(--bs-border-radius-xxl); + --bs-border-radius-pill: 50rem; + --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); + --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-focus-ring-width: 0.25rem; + --bs-focus-ring-opacity: 0.25; + --bs-focus-ring-color: rgba(13, 110, 253, 0.25); + --bs-form-valid-color: #198754; + --bs-form-valid-border-color: #198754; + --bs-form-invalid-color: #dc3545; + --bs-form-invalid-border-color: #dc3545; +} + +[data-bs-theme=dark] { + color-scheme: dark; + --bs-body-color: #adb5bd; + --bs-body-color-rgb: 173, 181, 189; + --bs-body-bg: #212529; + --bs-body-bg-rgb: 33, 37, 41; + --bs-emphasis-color: #fff; + --bs-emphasis-color-rgb: 255, 255, 255; + --bs-secondary-color: rgba(173, 181, 189, 0.75); + --bs-secondary-color-rgb: 173, 181, 189; + --bs-secondary-bg: #343a40; + --bs-secondary-bg-rgb: 52, 58, 64; + --bs-tertiary-color: rgba(173, 181, 189, 0.5); + --bs-tertiary-color-rgb: 173, 181, 189; + --bs-tertiary-bg: #2b3035; + --bs-tertiary-bg-rgb: 43, 48, 53; + --bs-primary-text-emphasis: #6ea8fe; + --bs-secondary-text-emphasis: #a7acb1; + --bs-success-text-emphasis: #75b798; + --bs-info-text-emphasis: #6edff6; + --bs-warning-text-emphasis: #ffda6a; + --bs-danger-text-emphasis: #ea868f; + --bs-light-text-emphasis: #f8f9fa; + --bs-dark-text-emphasis: #dee2e6; + --bs-primary-bg-subtle: #031633; + --bs-secondary-bg-subtle: #161719; + --bs-success-bg-subtle: #051b11; + --bs-info-bg-subtle: #032830; + --bs-warning-bg-subtle: #332701; + --bs-danger-bg-subtle: #2c0b0e; + --bs-light-bg-subtle: #343a40; + --bs-dark-bg-subtle: #1a1d20; + --bs-primary-border-subtle: #084298; + --bs-secondary-border-subtle: #41464b; + --bs-success-border-subtle: #0f5132; + --bs-info-border-subtle: #087990; + --bs-warning-border-subtle: #997404; + --bs-danger-border-subtle: #842029; + --bs-light-border-subtle: #495057; + --bs-dark-border-subtle: #343a40; + --bs-heading-color: inherit; + --bs-link-color: #6ea8fe; + --bs-link-hover-color: #8bb9fe; + --bs-link-color-rgb: 110, 168, 254; + --bs-link-hover-color-rgb: 139, 185, 254; + --bs-code-color: #e685b5; + --bs-border-color: #495057; + --bs-border-color-translucent: rgba(255, 255, 255, 0.15); + --bs-form-valid-color: #75b798; + --bs-form-valid-border-color: #75b798; + --bs-form-invalid-color: #ea868f; + --bs-form-invalid-border-color: #ea868f; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: var(--bs-border-width) solid; + opacity: 0.25; +} + +h6, h5, h4, h3, h2, h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; + color: var(--bs-heading-color); +} + +h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + h1 { + font-size: 2.5rem; + } +} + +h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + h2 { + font-size: 2rem; + } +} + +h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h3 { + font-size: 1.75rem; + } +} + +h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h4 { + font-size: 1.5rem; + } +} + +h5 { + font-size: 1.25rem; +} + +h6 { + font-size: 1rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +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: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 0.875em; +} + +mark { + padding: 0.1875em; + background-color: var(--bs-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); + text-decoration: underline; +} +a:hover { + --bs-link-color-rgb: var(--bs-link-hover-color-rgb); +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: var(--bs-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.1875rem 0.375rem; + font-size: 0.875em; + color: var(--bs-body-bg); + background-color: var(--bs-body-color); + border-radius: 0.25rem; +} +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-secondary-color); + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.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; +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css.map b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css.map new file mode 100644 index 000000000..cce4e6ce5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_root.scss","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_color-mode.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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E1IA;EHwLQ,iCAAA;AC1CR;ADlHI;EG5BJ;IH+LQ,iBAAA;EC7CN;AACF;;AE9IA;EH+KM,kBALI;ACxBV;;AE7IA;EH0KM,eALI;ACpBV;;AEtIA;EACE,aAAA;EACA,mBCwV0B;AH/M5B;;AE/HA;EACE,yCAAA;EAAA,iCAAA;EACA,YAAA;EACA,sCAAA;EAAA,8BAAA;AFkIF;;AE5HA;EACE,mBAAA;EACA,kBAAA;EACA,oBAAA;AF+HF;;AEzHA;;EAEE,kBAAA;AF4HF;;AEzHA;;;EAGE,aAAA;EACA,mBAAA;AF4HF;;AEzHA;;;;EAIE,gBAAA;AF4HF;;AEzHA;EACE,gBC6b4B;AHjU9B;;AEvHA;EACE,qBAAA;EACA,cAAA;AF0HF;;AEpHA;EACE,gBAAA;AFuHF;;AE/GA;;EAEE,mBCsa4B;AHpT9B;;AE1GA;EH6EM,kBALI;ACsCV;;AEvGA;EACE,iBCif4B;EDhf5B,wCAAA;AF0GF;;AEjGA;;EAEE,kBAAA;EHyDI,iBALI;EGlDR,cAAA;EACA,wBAAA;AFoGF;;AEjGA;EAAM,eAAA;AFqGN;;AEpGA;EAAM,WAAA;AFwGN;;AEnGA;EACE,gEAAA;EACA,0BCiNwC;AH3G1C;AEpGE;EACE,mDAAA;AFsGJ;;AE3FE;EAEE,cAAA;EACA,qBAAA;AF6FJ;;AEtFA;;;;EAIE,qCCiV4B;EJlUxB,cALI;ACgFV;;AElFA;EACE,cAAA;EACA,aAAA;EACA,mBAAA;EACA,cAAA;EHGI,kBALI;ACwFV;AEjFE;EHFI,kBALI;EGSN,cAAA;EACA,kBAAA;AFmFJ;;AE/EA;EHTM,kBALI;EGgBR,2BAAA;EACA,qBAAA;AFkFF;AE/EE;EACE,cAAA;AFiFJ;;AE7EA;EACE,2BAAA;EHrBI,kBALI;EG4BR,wBCo5CkC;EDn5ClC,sCCo5CkC;ECxrDhC,sBAAA;AJqXJ;AE9EE;EACE,UAAA;EH5BE,cALI;ACkHV;;AEtEA;EACE,gBAAA;AFyEF;;AEnEA;;EAEE,sBAAA;AFsEF;;AE9DA;EACE,oBAAA;EACA,yBAAA;AFiEF;;AE9DA;EACE,mBCwX4B;EDvX5B,sBCuX4B;EDtX5B,gCCwZ4B;EDvZ5B,gBAAA;AFiEF;;AE1DA;EAEE,mBAAA;EACA,gCAAA;AF4DF;;AEzDA;;;;;;EAME,qBAAA;EACA,mBAAA;EACA,eAAA;AF4DF;;AEpDA;EACE,qBAAA;AFuDF;;AEjDA;EAEE,gBAAA;AFmDF;;AE3CA;EACE,UAAA;AF8CF;;AEzCA;;;;;EAKE,SAAA;EACA,oBAAA;EH3HI,kBALI;EGkIR,oBAAA;AF4CF;;AExCA;;EAEE,oBAAA;AF2CF;;AEtCA;EACE,eAAA;AFyCF;;AEtCA;EAGE,iBAAA;AFuCF;AEpCE;EACE,UAAA;AFsCJ;;AE/BA;EACE,wBAAA;AFkCF;;AE1BA;;;;EAIE,0BAAA;AF6BF;AE1BI;;;;EACE,eAAA;AF+BN;;AExBA;EACE,UAAA;EACA,kBAAA;AF2BF;;AEtBA;EACE,gBAAA;AFyBF;;AEfA;EACE,YAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;AFkBF;;AEVA;EACE,WAAA;EACA,WAAA;EACA,UAAA;EACA,qBCgN4B;EJhatB,iCAAA;EGmNN,oBAAA;AFYF;AD3XI;EGwWJ;IHrMQ,iBAAA;EC4NN;AACF;AEfE;EACE,WAAA;AFiBJ;;AEVA;;;;;;;EAOE,UAAA;AFaF;;AEVA;EACE,YAAA;AFaF;;AEJA;EACE,oBAAA;EACA,6BAAA;AFOF;;AECA;;;;;;;CAAA;AAWA;EACE,wBAAA;AFDF;;AEMA;EACE,UAAA;AFHF;;AEUA;EACE,aAAA;EACA,0BAAA;AFPF;;AEKA;EACE,aAAA;EACA,0BAAA;AFPF;;AEYA;EACE,qBAAA;AFTF;;AEcA;EACE,SAAA;AFXF;;AEkBA;EACE,kBAAA;EACA,eAAA;AFfF;;AEuBA;EACE,wBAAA;AFpBF;;AE4BA;EACE,wBAAA;AFzBF","file":"bootstrap-reboot.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n",":root,\n[data-bs-theme=\"light\"] {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$prefix}#{$color}-rgb: #{$value};\n }\n\n @each $color, $value in $theme-colors-text {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}white-rgb: #{to-rgb($white)};\n --#{$prefix}black-rgb: #{to-rgb($black)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$prefix}gradient: #{$gradient};\n\n // Root and body\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$prefix}root-font-size: #{$font-size-root};\n }\n --#{$prefix}body-font-family: #{inspect($font-family-base)};\n @include rfs($font-size-base, --#{$prefix}body-font-size);\n --#{$prefix}body-font-weight: #{$font-weight-base};\n --#{$prefix}body-line-height: #{$line-height-base};\n @if $body-text-align != null {\n --#{$prefix}body-text-align: #{$body-text-align};\n }\n\n --#{$prefix}body-color: #{$body-color};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$prefix}body-bg: #{$body-bg};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n // scss-docs-end root-body-variables\n\n --#{$prefix}heading-color: #{$headings-color};\n\n --#{$prefix}link-color: #{$link-color};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n --#{$prefix}link-decoration: #{$link-decoration};\n\n --#{$prefix}link-hover-color: #{$link-hover-color};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n @if $link-hover-decoration != null {\n --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n }\n\n --#{$prefix}code-color: #{$code-color};\n --#{$prefix}highlight-bg: #{$mark-bg};\n\n // scss-docs-start root-border-var\n --#{$prefix}border-width: #{$border-width};\n --#{$prefix}border-style: #{$border-style};\n --#{$prefix}border-color: #{$border-color};\n --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n --#{$prefix}border-radius: #{$border-radius};\n --#{$prefix}border-radius-sm: #{$border-radius-sm};\n --#{$prefix}border-radius-lg: #{$border-radius-lg};\n --#{$prefix}border-radius-xl: #{$border-radius-xl};\n --#{$prefix}border-radius-xxl: #{$border-radius-xxl};\n --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency\n --#{$prefix}border-radius-pill: #{$border-radius-pill};\n // scss-docs-end root-border-var\n\n --#{$prefix}box-shadow: #{$box-shadow};\n --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n // Focus styles\n // scss-docs-start root-focus-variables\n --#{$prefix}focus-ring-width: #{$focus-ring-width};\n --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n --#{$prefix}focus-ring-color: #{$focus-ring-color};\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-validation-variables\n --#{$prefix}form-valid-color: #{$form-valid-color};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n --#{$prefix}form-invalid-color: #{$form-invalid-color};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark, true) {\n color-scheme: dark;\n\n // scss-docs-start root-dark-mode-vars\n --#{$prefix}body-color: #{$body-color-dark};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n --#{$prefix}body-bg: #{$body-bg-dark};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n @each $color, $value in $theme-colors-text-dark {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle-dark {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle-dark {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}heading-color: #{$headings-color-dark};\n\n --#{$prefix}link-color: #{$link-color-dark};\n --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n --#{$prefix}code-color: #{$code-color-dark};\n\n --#{$prefix}border-color: #{$border-color-dark};\n --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n // scss-docs-end root-dark-mode-vars\n }\n}\n","// stylelint-disable scss/dimension-no-non-numeric-values\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query () {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query () {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + \" \" + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n } @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + \" \" + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n } @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + \" \" + $value;\n } @else {\n // Remove unit from $value for calculations\n $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + \" calc(\" + $min-width + if($value < 0, \" - \", \" + \") + $variable-width + \")\";\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluid-val: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluid-val {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule () {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule () {\n #{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","/*!\n * Bootstrap Reboot v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root,\n[data-bs-theme=light] {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-primary-rgb: 13, 110, 253;\n --bs-secondary-rgb: 108, 117, 125;\n --bs-success-rgb: 25, 135, 84;\n --bs-info-rgb: 13, 202, 240;\n --bs-warning-rgb: 255, 193, 7;\n --bs-danger-rgb: 220, 53, 69;\n --bs-light-rgb: 248, 249, 250;\n --bs-dark-rgb: 33, 37, 41;\n --bs-primary-text-emphasis: #052c65;\n --bs-secondary-text-emphasis: #2b2f32;\n --bs-success-text-emphasis: #0a3622;\n --bs-info-text-emphasis: #055160;\n --bs-warning-text-emphasis: #664d03;\n --bs-danger-text-emphasis: #58151c;\n --bs-light-text-emphasis: #495057;\n --bs-dark-text-emphasis: #495057;\n --bs-primary-bg-subtle: #cfe2ff;\n --bs-secondary-bg-subtle: #e2e3e5;\n --bs-success-bg-subtle: #d1e7dd;\n --bs-info-bg-subtle: #cff4fc;\n --bs-warning-bg-subtle: #fff3cd;\n --bs-danger-bg-subtle: #f8d7da;\n --bs-light-bg-subtle: #fcfcfd;\n --bs-dark-bg-subtle: #ced4da;\n --bs-primary-border-subtle: #9ec5fe;\n --bs-secondary-border-subtle: #c4c8cb;\n --bs-success-border-subtle: #a3cfbb;\n --bs-info-border-subtle: #9eeaf9;\n --bs-warning-border-subtle: #ffe69c;\n --bs-danger-border-subtle: #f1aeb5;\n --bs-light-border-subtle: #e9ecef;\n --bs-dark-border-subtle: #adb5bd;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg: #fff;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-emphasis-color: #000;\n --bs-emphasis-color-rgb: 0, 0, 0;\n --bs-secondary-color: rgba(33, 37, 41, 0.75);\n --bs-secondary-color-rgb: 33, 37, 41;\n --bs-secondary-bg: #e9ecef;\n --bs-secondary-bg-rgb: 233, 236, 239;\n --bs-tertiary-color: rgba(33, 37, 41, 0.5);\n --bs-tertiary-color-rgb: 33, 37, 41;\n --bs-tertiary-bg: #f8f9fa;\n --bs-tertiary-bg-rgb: 248, 249, 250;\n --bs-heading-color: inherit;\n --bs-link-color: #0d6efd;\n --bs-link-color-rgb: 13, 110, 253;\n --bs-link-decoration: underline;\n --bs-link-hover-color: #0a58ca;\n --bs-link-hover-color-rgb: 10, 88, 202;\n --bs-code-color: #d63384;\n --bs-highlight-bg: #fff3cd;\n --bs-border-width: 1px;\n --bs-border-style: solid;\n --bs-border-color: #dee2e6;\n --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n --bs-border-radius: 0.375rem;\n --bs-border-radius-sm: 0.25rem;\n --bs-border-radius-lg: 0.5rem;\n --bs-border-radius-xl: 1rem;\n --bs-border-radius-xxl: 2rem;\n --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n --bs-border-radius-pill: 50rem;\n --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --bs-focus-ring-width: 0.25rem;\n --bs-focus-ring-opacity: 0.25;\n --bs-focus-ring-color: rgba(13, 110, 253, 0.25);\n --bs-form-valid-color: #198754;\n --bs-form-valid-border-color: #198754;\n --bs-form-invalid-color: #dc3545;\n --bs-form-invalid-border-color: #dc3545;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n --bs-body-color: #adb5bd;\n --bs-body-color-rgb: 173, 181, 189;\n --bs-body-bg: #212529;\n --bs-body-bg-rgb: 33, 37, 41;\n --bs-emphasis-color: #fff;\n --bs-emphasis-color-rgb: 255, 255, 255;\n --bs-secondary-color: rgba(173, 181, 189, 0.75);\n --bs-secondary-color-rgb: 173, 181, 189;\n --bs-secondary-bg: #343a40;\n --bs-secondary-bg-rgb: 52, 58, 64;\n --bs-tertiary-color: rgba(173, 181, 189, 0.5);\n --bs-tertiary-color-rgb: 173, 181, 189;\n --bs-tertiary-bg: #2b3035;\n --bs-tertiary-bg-rgb: 43, 48, 53;\n --bs-primary-text-emphasis: #6ea8fe;\n --bs-secondary-text-emphasis: #a7acb1;\n --bs-success-text-emphasis: #75b798;\n --bs-info-text-emphasis: #6edff6;\n --bs-warning-text-emphasis: #ffda6a;\n --bs-danger-text-emphasis: #ea868f;\n --bs-light-text-emphasis: #f8f9fa;\n --bs-dark-text-emphasis: #dee2e6;\n --bs-primary-bg-subtle: #031633;\n --bs-secondary-bg-subtle: #161719;\n --bs-success-bg-subtle: #051b11;\n --bs-info-bg-subtle: #032830;\n --bs-warning-bg-subtle: #332701;\n --bs-danger-bg-subtle: #2c0b0e;\n --bs-light-bg-subtle: #343a40;\n --bs-dark-bg-subtle: #1a1d20;\n --bs-primary-border-subtle: #084298;\n --bs-secondary-border-subtle: #41464b;\n --bs-success-border-subtle: #0f5132;\n --bs-info-border-subtle: #087990;\n --bs-warning-border-subtle: #997404;\n --bs-danger-border-subtle: #842029;\n --bs-light-border-subtle: #495057;\n --bs-dark-border-subtle: #343a40;\n --bs-heading-color: inherit;\n --bs-link-color: #6ea8fe;\n --bs-link-hover-color: #8bb9fe;\n --bs-link-color-rgb: 110, 168, 254;\n --bs-link-hover-color-rgb: 139, 185, 254;\n --bs-code-color: #e685b5;\n --bs-border-color: #495057;\n --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n --bs-form-valid-color: #75b798;\n --bs-form-valid-border-color: #75b798;\n --bs-form-invalid-color: #ea868f;\n --bs-form-invalid-border-color: #ea868f;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-body-font-family);\n font-size: var(--bs-body-font-size);\n font-weight: var(--bs-body-font-weight);\n line-height: var(--bs-body-line-height);\n color: var(--bs-body-color);\n text-align: var(--bs-body-text-align);\n background-color: var(--bs-body-bg);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n border: 0;\n border-top: var(--bs-border-width) solid;\n opacity: 0.25;\n}\n\nh6, h5, h4, h3, h2, h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--bs-heading-color);\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.1875em;\n background-color: var(--bs-highlight-bg);\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));\n text-decoration: underline;\n}\na:hover {\n --bs-link-color-rgb: var(--bs-link-hover-color-rgb);\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: var(--bs-code-color);\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.1875rem 0.375rem;\n font-size: 0.875em;\n color: var(--bs-body-bg);\n background-color: var(--bs-body-color);\n border-radius: 0.25rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--bs-secondary-color);\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n @if $color-mode-type == \"media-query\" {\n @if $root == true {\n @media (prefers-color-scheme: $mode) {\n :root {\n @content;\n }\n }\n } @else {\n @media (prefers-color-scheme: $mode) {\n @content;\n }\n }\n } @else {\n [data-bs-theme=\"#{$mode}\"] {\n @content;\n }\n }\n}\n// scss-docs-end color-mode-mixin\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n @if $font-size-root != null {\n @include font-size(var(--#{$prefix}root-font-size));\n }\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\n// scss-docs-start reboot-body-rules\nbody {\n margin: 0; // 1\n font-family: var(--#{$prefix}body-font-family);\n @include font-size(var(--#{$prefix}body-font-size));\n font-weight: var(--#{$prefix}body-font-weight);\n line-height: var(--#{$prefix}body-line-height);\n color: var(--#{$prefix}body-color);\n text-align: var(--#{$prefix}body-text-align);\n background-color: var(--#{$prefix}body-bg); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n// scss-docs-end reboot-body-rules\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n opacity: $hr-opacity;\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--#{$prefix}heading-color);\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 2. Add explicit cursor to indicate changed behavior.\n// 3. Prevent the text-decoration to be skipped.\n\nabbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: var(--#{$prefix}highlight-bg);\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n text-decoration: $link-decoration;\n\n &:hover {\n --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: var(--#{$prefix}code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`