diff --git a/themes/adritian-free-hugo-theme/.github/FUNDING.yml b/themes/adritian-free-hugo-theme/.github/FUNDING.yml new file mode 100644 index 0000000..331ec3a --- /dev/null +++ b/themes/adritian-free-hugo-theme/.github/FUNDING.yml @@ -0,0 +1,13 @@ +# These are supported funding model platforms + +github: [zetxek] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/themes/adritian-free-hugo-theme/.github/workflows/update-demo-pr.yml b/themes/adritian-free-hugo-theme/.github/workflows/update-demo-pr.yml new file mode 100644 index 0000000..77a9eca --- /dev/null +++ b/themes/adritian-free-hugo-theme/.github/workflows/update-demo-pr.yml @@ -0,0 +1,81 @@ +## Updates demo site (https://github.com/zetxek/adritian-demo) +## taken from https://stackoverflow.com/a/68213855/570087 + +name: Update demo site +on: + push: + ## run on push to main or a new semantic tag (ie: v1.2.3) + branches: + - main + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' + +jobs: + update: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + repository: zetxek/adritian-demo + token: ${{ secrets.PRIVATE_TOKEN_GITHUB }} + submodules: true + + - name: Pull & update submodules recursively + run: | + git submodule update --init --recursive + git submodule update --recursive --remote + + - name: Print submodule status + run: | + git submodule status + + - name: Print submodule diff + run: | + git diff --submodule=diff + + - name: Send pull-request + run: | + LATEST_TAG=$(git describe --tags --always --abbrev=0) + REPOSITORY="zetxek/adritian-demo" + FOLDER="bin/$REPOSITORY" + BRANCH_NAME="theme-update/update-theme-to-$LATEST_TAG" + + # Clone the remote repository and change working directory to the + # folder it was cloned to. + git clone \ + --depth=1 \ + --branch=main \ + https://some-user:${{ secrets.PRIVATE_TOKEN_GITHUB }}@github.com/$REPOSITORY \ + $FOLDER + + cd $FOLDER + + # Setup the committers identity. + git config user.email "actions@github.com" + git config user.name "GitHub Actions - update theme submodule" + + # Create a new feature branch for the changes. + git checkout -b $BRANCH_NAME + + # Update the script files to the latest version. + git submodule update --init --recursive + git submodule update --recursive --remote + + # Commit the changes and push the feature branch to origin + git add --all + git commit -m "chore: update scripts to $LATEST_TAG" + git push origin $BRANCH_NAME + + # Store the PAT in a file that can be accessed by the + # GitHub CLI. + echo "${{ secrets.PRIVATE_TOKEN_GITHUB }}" > token.txt + + # Authorize GitHub CLI for the current repository and + # create a pull-requests containing the updates. + gh auth login --with-token < token.txt + gh pr create \ + --body "" \ + --title "chore: update theme to $LATEST_TAG" \ + --head "$BRANCH_NAME" \ + --base "main" \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/.github/workflows/update-demo.yml b/themes/adritian-free-hugo-theme/.github/workflows/update-demo.yml new file mode 100644 index 0000000..3388310 --- /dev/null +++ b/themes/adritian-free-hugo-theme/.github/workflows/update-demo.yml @@ -0,0 +1,38 @@ +## Updates demo site (https://github.com/zetxek/adritian-demo) +## taken from https://stackoverflow.com/a/68213855/570087 + +name: Update demo site +on: + workflow_dispatch: + +jobs: + update: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + repository: zetxek/adritian-demo + token: ${{ secrets.PRIVATE_TOKEN_GITHUB }} + submodules: true + + - name: Pull & update submodules recursively + run: | + git submodule update --init --recursive + git submodule update --recursive --remote + + - name: Print submodule status + run: | + git submodule status + + - name: Print submodule diff + run: | + git diff --submodule=diff + + - name: Commit + run: | + git config user.email "actions@github.com" + git config user.name "GitHub Actions - update theme submodule" + git add --all + git commit -m "Update submodules" -m "Updating demo based on $(git submodule status)" || echo "No changes to commit (status = $(git submodule status))" + git push \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/.gitignore b/themes/adritian-free-hugo-theme/.gitignore new file mode 100755 index 0000000..612aac0 --- /dev/null +++ b/themes/adritian-free-hugo-theme/.gitignore @@ -0,0 +1,10 @@ +Thumbs.db +.DS_Store +.dist +.tmp +.sass-cache +npm-debug.log +node_modules +builds +package-lock.json + \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/LICENSE b/themes/adritian-free-hugo-theme/LICENSE new file mode 100755 index 0000000..ced9cf9 --- /dev/null +++ b/themes/adritian-free-hugo-theme/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright for portions of the theme are held by (c) 2020 Radity (https://radity.com). Other copyright is held by Adrián Moreno Peña, 2022. + +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/themes/adritian-free-hugo-theme/README.md b/themes/adritian-free-hugo-theme/README.md new file mode 100644 index 0000000..435fe4a --- /dev/null +++ b/themes/adritian-free-hugo-theme/README.md @@ -0,0 +1,130 @@ +# Adritian Free Hugo Theme +###### Adritian Hugo Theme for Personal Websites or Professional minimalistic landing pages + +See it live at **[adritian-demo.vercel.app](https://https://adritian-demo.vercel.app/)** (simple demo site, vanilla installation) or **[adrianmoreno.info](https://www.adrianmoreno.info)** (my personal site, running on this theme) + +This free Hugo theme is a fork of [Raditian Theme](https://github.com/radity/raditian-free-hugo-theme) - a great Hugo theme originally created by [Radity](https://github.com/radity). It's called __Adritian__ because I, the author, am called Adrián - and if you shuffle Raditian and Adrián letters you get... Adritian 😅 + +It focuses on accessibility, high performance and usability. + +The templates are based on Bootstrap (so they're responsive and mobile-first), and the main changes I have made have been upgrades on the web performance and accessibility of the template. + +Some of the best applications for the theme are for minimalistic websites, single-page applications, and personal portfolios. It has a contact form you can customize to your mail address without setting up a backend (https://formspree.io). + + +🚀 Improvements on this version: + +- removal of jQuery +- upgrade of Bootstrap from v4 to v5 +- Hugo assets pipeline support +- some (basic) i18n features +- added more pages/templates (experience, blog) + +- upgrade loading performance (100 score in [Google Page Speed Insights](https://pagespeed.web.dev)) + +You can see it live at [www.adrianmoreno.info](https://www.adrianmoreno.info) (my personal website), as well as in this screenshot for reference: + +![adrianmorenoinfo](https://user-images.githubusercontent.com/240085/230632835-74349170-d610-4731-8fac-62c413e6b3f5.png) + +You can see the source code for [my website](https://www.adrianmoreno.info) [in github too](https://github.com/zetxek/adrianmoreno.info), as well as the [demo site for the theme, adritian-demo](https://adritian-demo.vercel.app/) ([and its code](https://github.com/zetxek/adritian-demo)) (a simpler version of the website). + +## Download + +- Clone the repo: `git clone https://github.com/zetxek/adritian-free-hugo-theme.git`. +[Download from ](https://github.com/zetxek/adritian-free-hugo-theme/archive/main.zip)GitHub. + +## Installation + +#### Install Hugo + +To use `adritian-free-hugo-theme` you need to install Hugo by following https://gohugo.io/getting-started/installing/. + +#### Setting up +As a pre-requirement, you will need Hugo set up and running. You can follow [the official guide for it](https://gohugo.io/categories/installation/). + +Note: the theme has **not** been migrated to Hugo Modules yet. To install it, you need to set it up by copying the theme files (either as a sub-module or by copying the files). You can follow these [older instructions](https://gohugobrasil.netlify.app/themes/installing-and-using-themes/) or the next ones as help: + +- Create a new Hugo site (this will create a new folder): `hugo new site ` +- Enter the newly created folder: `cd /` +- Install PostCSS: execute `npm i -D postcss postcss-cli autoprefixer` from the top-level site folder [check [Hugo's official docs](https://gohugo.io/hugo-pipes/postcss/)]. +- Clone the adritian-free-hugo-theme: `git clone https://github.com/zetxek/adritian-free-hugo-theme.git themes/adritian-free-hugo-theme`. +- Replace the `config.toml` file in the project's root directory with themes/adritian-free-hugo-theme/exampleSite/config.toml: `cp themes/adritian-free-hugo-theme/exampleSite/hugo.toml hugo.toml` (*executed from the website root folder*) +- Start Hugo with `hugo server -D` +- 🎉 The theme is alive on http://localhost:1313/ + +The output for the last command will be something like +``` +adritian-demo git:(master) ✗ hugo server -D +port 1313 already in use, attempting to use an available port +Watching for changes in /Users/adrianmorenopena/Projects/adritian-demo/{archetypes,assets,content,data,i18n,layouts,static,themes} +Watching for config changes in /Users/adrianmorenopena/Projects/adritian-demo/hugo.toml +Start building sites … +hugo v0.122.0-b9a03bd59d5f71a529acb3e33f995e0ef332b3aa+extended darwin/arm64 BuildDate=2024-01-26T15:54:24Z VendorInfo=brew + +WARN found no layout file for "html" for kind "taxonomy": You should create a template file which matches Hugo Layouts Lookup Rules for this combination. + + | EN +-------------------+------ + Pages | 5 + Paginator pages | 0 + Non-page files | 0 + Static files | 114 + Processed images | 4 + Aliases | 0 + Sitemaps | 1 + Cleaned | 0 + +Built in 617 ms +Environment: "development" +Serving pages from memory +Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender +Web Server is available at http://localhost:53031/ (bind address 127.0.0.1) +Press Ctrl+C to stop + +``` + +#### Additional configuration + +##### Contact form +_(optional, if you want to use the contact form)_ edit line 212 in your `homepage.yml` file, to customize your mail address. Sign up in [formspree](https://formspree.io) to redirect mails to your own. + +##### Blog + +SCR-20240624-uajc + + +To use the blog, you can use the content type "blog", and render it in the URL `/blog`. +You can add a menu link to it in `hugo.toml`. + +The posts will be markdown files stored in the `content/blog` folder. + +##### Experience + +SCR-20240624-uaoi + + +It can be used to render job experience of projects. Each experience/project has a duration, job title, company name, location and description/excerpt as well as a longer text. + +## Troubleshooting + +This theme is a version of the one found on my website [adriamoreno.info](https://www.adrianmoreno.info). If you run into trouble, [you can check the code on my website](https://github.com/zetxek/adrianmoreno.info) for reference. + +If you have improvements for the theme, you are very welcome to make a PR if you are able 💕. Otherwise - see below for how to get help (and maybe help others with the same problem). + +## Getting help + +The project is offered "as is", and it's a hobby project. Support is given whenever life allows - you can create an issue [create an issue](https://github.com/zetxek/adritian-free-hugo-theme/issues) so anyone else could also help, or the author. + +## Showcase + +Have you used the theme in your website? Send a PR to add it to the list for inspiration! (Extra points if the repo is open source :-) + +- [demo site](https://adritian.vercel.app) +- [adrian moreno's personal site](https://www.adrianmoreno.info) +- add your website here! + + +## License + +- Copyright 2020 Radity (https://radity.com/), 2022 Adrián Moreno Peña (https://www.adrianmoreno.info) +- Licensed under MIT (https://github.com/zetxek/adritian-free-hugo-theme/blob/master/LICENSE) diff --git a/themes/adritian-free-hugo-theme/archetypes/default.md b/themes/adritian-free-hugo-theme/archetypes/default.md new file mode 100755 index 0000000..ac36e06 --- /dev/null +++ b/themes/adritian-free-hugo-theme/archetypes/default.md @@ -0,0 +1,2 @@ ++++ ++++ diff --git a/themes/adritian-free-hugo-theme/assets/css/animation.css b/themes/adritian-free-hugo-theme/assets/css/animation.css new file mode 100644 index 0000000..ac5a956 --- /dev/null +++ b/themes/adritian-free-hugo-theme/assets/css/animation.css @@ -0,0 +1,85 @@ +/* + Animation example, for spinners +*/ +.animate-spin { + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + -webkit-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; + display: inline-block; +} +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@-webkit-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@-o-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@-ms-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/themes/adritian-free-hugo-theme/assets/css/bundle.css b/themes/adritian-free-hugo-theme/assets/css/bundle.css new file mode 100644 index 0000000..0834804 --- /dev/null +++ b/themes/adritian-free-hugo-theme/assets/css/bundle.css @@ -0,0 +1 @@ +/* placeholder */ \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/assets/css/critical.css b/themes/adritian-free-hugo-theme/assets/css/critical.css new file mode 100644 index 0000000..8dd7710 --- /dev/null +++ b/themes/adritian-free-hugo-theme/assets/css/critical.css @@ -0,0 +1 @@ +/* placeholder file: to be populated by npm scripts */ \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/assets/css/custom.css b/themes/adritian-free-hugo-theme/assets/css/custom.css new file mode 100644 index 0000000..7ffb57b --- /dev/null +++ b/themes/adritian-free-hugo-theme/assets/css/custom.css @@ -0,0 +1,338 @@ +:root { + --nord0: #2e3440; + --nord1: #3b4252; + --nord2: #434c5e; + --nord3: #4c566a; + --nord4: #d8dee9; + --nord5: #e5e9f0; + --nord6: #eceff4; + --nord7: #8fbcbb; + --nord8: #88c0d0; + --nord9: #81a1c1; + --nord10: #5e81ac; + --nord11: #bf616a; + --nord12: #d08770; + --nord13: #ebcb8b; + --nord14: #a3be8c; + --nord15: #b48ead; + + --brand-color: var(--nord10); + --hover-color: var(--nord4); +} + +.brand { + color: var(--brand-color); +} + +/* You can customize theme styles here */ +.header .navbar-brand span:first-child { + color: var(--brand-color); +} + +.header .container { + padding-left: 10px; +} + +html body ::selection { + background-color: var(--brand-color); + color: #fff +} + +.profile-image img { + max-inline-size: 80%; + block-size: auto; + filter: drop-shadow(20px 15px var(--brand-color)); +} + +.profile-image img { + margin-top: 40px; +} + +.rad-showcase__bg img { + margin-top: 0; + margin-left: 100px; + max-width: 100%; +} + +@media only screen and (min-width : 768px) { + .rad-showcase__bg img { + height: 400px; + } +} + +.header .navbar-brand { + flex-direction: row; +} + +.header .navbar-brand span { + display: inline; +} + +.header .navbar-brand span:nth-child(2) { + font-family: inherit; + margin-top: 0; +} + +#breadcrumb-bar { + position: relative; + padding-top: 120px; +} + +ul.breadcrumbs { + display: inline; + padding-left: 0; +} + +ul.breadcrumbs li:not(:last-child):after { + content: ">"; + margin-left: 10px; + margin-right: 10px; +} + +ul.breadcrumbs li { + display: inline; +} + + +.book-category { + font-size: 1.5em; + padding-bottom: .3em; + border-bottom: 1px solid rgb(200, 200, 200); + width: 100%; +} + +.book-category-anchor .icon { + font-size: 12px +} + +ul.book-category-content { + padding-left: 0; +} + +.book-card a.goodreads { + float: right; +} + +.goodreads-search { + margin-left: 64px; + width: 16px; +} + +.book-content { + width: 100%; +} + + +.book-content .book-header { + margin-bottom: 10px; + ; +} + +.book-content h5, +.book-content h6 { + display: inline; + font-weight: 500; +} + +.book-content h5 { + margin-right: -2px; +} + +.book-content .goodreads-link { + float: right; +} + +#books .row { + margin: 0; +} + +ul.book-category-content { + list-style: none; +} + +.book-content.featured::before { + content: "\2605"; + /* Unicode bullet symbol */ + color: #478079; + /* Bullet color */ + /* Optional tweaks */ + font-weight: bold; + padding-right: 10px; + background-color: transparent; + top: 4px; + left: -5px; +} + +.display-1 { + @media (max-width: 768px) { + padding-top: 30px; + } + +} + +#links { + @media (min-width: 768px) { + margin-top: -250px; + } + + @media (max-width: 768px) { + padding-top: 10px; + } + + padding-bottom: 30px; +} + +li.book-content p { + line-height: normal; +} + +.about__profile-picture img { + object-fit: contain; +} + +.experience__company { + color: var(--nord3); +} + +.experience__location { + font-weight: normal; +} + +.experience+.experience { + padding-top: 0; +} + +body.home div.experience { + padding-top: 20px; +} + +.experience a { + display: block; + padding: 20px; + text-decoration: none; + color: inherit; +} + +.experience.selected a, +.experience:hover a, +.experience:active a, +.experience a:hover, +.experience a:active { + display: block; + background-color: var(--hover-color); +} + +.experience.selected a>.experience__company, +.experience:hover a>.experience__company, +.experience:active a>.experience__company, +.experience a:hover>.experience__company, +.experience a:active>.experience__company, +.experience:hover a>.experience__date, +.experience:active a>.experience__date, +.experience a:hover>.experience__date, +.experience a:active>.experience__date { + color: var(--nord0); +} + +.experience:hover a>.experience__title, +.experience:active a>.experience__title, +.experience a:hover>.experience__title, +.experience a:active>.experience__title { + color: var(--nord2); +} + +.all-experience-container { + margin-top: 50px; +} + +.footer__copy a { + color: white; +} + +.posts-list { + padding-left: 0; +} + +.posts-list article.summary { + margin-bottom: 20px; +} + +article.post.summary h2 { + font-size: 32px +} + +#blog-single #meta { + margin-bottom: 20px; + padding-bottom: 10px; +} + +.light-border-bottom::after { + content: ""; + width: 80%; + height: 1px; + max-width: 1170px; + background-color: #adb5bd; + display: block; + margin-bottom: 20px; +} + +#blog-single #meta section { + font-weight: lighter; +} + +#blog-single #meta h4 { + font-size: 16px; + font-weight: light; + display: inline; +} + +#blog-single #meta h5 { + font-size: 14px; + font-weight: light; + display: inline; +} + +aside.content-browser { + margin-top: 20px; + padding-top: 10px; +} + +.light-border-top::before { + content: ""; + width: 80%; + height: 1px; + max-width: 1170px; + background-color: #adb5bd; + display: block; + margin-top: 20px; +} + +@media only screen and (max-width : 768px) { + .header .navbar-brand { + margin-top: 10px; + } +} + +@media only screen and (max-width : 990px) { + .rad-showcase__bg img { + margin-left: 0; + } +} + +@media only screen and (min-width: 992px) and (max-width: 1280px) { + .header { + padding-top: 10px; + } +} + +@media only screen and (min-width : 968px) and (max-width : 992px) { + .rad-showcase { + padding-top: 100px; + } +} + +@media only screen and (min-width : 992px) { + .rad-showcase { + padding-top: 40px; + } +} \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/assets/css/main.css b/themes/adritian-free-hugo-theme/assets/css/main.css new file mode 100644 index 0000000..a84a1b8 --- /dev/null +++ b/themes/adritian-free-hugo-theme/assets/css/main.css @@ -0,0 +1,12775 @@ +.popover, +.tooltip, +address { + font-style: normal; +} + +.breadcrumb-item+.breadcrumb-item:hover::before, +.btn-link, +.btn:hover, +.card-link:hover, +.dropdown-item.active, +.dropdown-item:active, +.dropdown-item:focus, +.dropdown-item:hover, +.nav-link:focus, +.nav-link:hover, +.navbar-brand:focus, +.navbar-brand:hover, +.navbar-toggler:focus, +.navbar-toggler:hover, +.page-link:hover, +a, +a.badge:focus, +a.badge:hover, +a:not([href]):not([tabindex]), +a:not([href]):not([tabindex]):focus, +a:not([href]):not([tabindex]):hover { + text-decoration: none; +} + +.accordion>.card, +.collapsing, +.dropdown-divider, +.modal-open, +.progress, +.toast, +svg { + overflow: hidden; +} + +img, +svg { + vertical-align: middle; +} + +.dropdown-menu, +.tooltip, +body, +caption { + text-align: left; +} + +.popover, +.tooltip, +button, +select { + text-transform: none; +} + +pre, +textarea { + overflow: auto; +} + +.badge, +progress, +sub, +sup { + vertical-align: baseline; +} + +.custom-range, +.custom-select, +[type="search"] { + -webkit-appearance: none; +} + +/*@font-face { + font-family: Inter; + font-display: swap; + font-style: normal; + font-weight: 300; + src: url(../fonts/inter/Inter-Light.woff2) format("woff2"), url(../fonts/inter/Inter-Light.woff) format("woff"); +} +@font-face { + font-family: Inter; + font-display: swap; + font-style: normal; + font-weight: 700; + src: url(../fonts/inter/Inter-Bold.woff2) format("woff2"), url(../fonts/inter/Inter-Bold.woff) format("woff"); +}*./ +@-webkit-keyframes right-to-left { + 0% { + -webkit-transform: translateX(180%); + transform: translateX(180%); + } + 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} +@keyframes right-to-left { + 0% { + -webkit-transform: translateX(180%); + transform: translateX(180%); + } + 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} +@-webkit-keyframes right-to-left-out { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + 100% { + -webkit-transform: translateX(180%); + transform: translateX(180%); + } +} +@keyframes right-to-left-out { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + 100% { + -webkit-transform: translateX(180%); + transform: translateX(180%); + } +} +@-webkit-keyframes left-to-right { + 0% { + opacity: 0; + -webkit-transform: translateX(-20%); + transform: translateX(-20%); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} +@keyframes left-to-right { + 0% { + opacity: 0; + -webkit-transform: translateX(-20%); + transform: translateX(-20%); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} +@-webkit-keyframes left-to-right-out { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + 100% { + -webkit-transform: translateX(-180%); + transform: translateX(-180%); + } +} +@keyframes left-to-right-out { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + 100% { + -webkit-transform: translateX(-180%); + transform: translateX(-180%); + } +} +@-webkit-keyframes newsletter-notification-in { + 0% { + top: 100%; + } + 100% { + top: calc(100% + 10px); + } +} +@keyframes newsletter-notification-in { + 0% { + top: 100%; + } + 100% { + top: calc(100% + 10px); + } +} +@-webkit-keyframes fade-in { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-in { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@-webkit-keyframes stretch-in { + 0% { + width: 0; + } + 100% { + width: 100%; + } +} +@keyframes stretch-in { + 0% { + width: 0; + } + 100% { + width: 100%; + } +} +@-webkit-keyframes slide-to-right { + 0% { + opacity: 0; + -webkit-transform: translateX(-70px); + transform: translateX(-70px); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} +@keyframes slide-to-right { + 0% { + opacity: 0; + -webkit-transform: translateX(-70px); + transform: translateX(-70px); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} +@-webkit-keyframes slide-to-left { + 0% { + opacity: 0; + -webkit-transform: translateX(70px); + transform: translateX(70px); + } + 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + opacity: 1; + } +} +@keyframes slide-to-left { + 0% { + opacity: 0; + -webkit-transform: translateX(70px); + transform: translateX(70px); + } + 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + opacity: 1; + } +} +@-webkit-keyframes fade-out { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} +@keyframes fade-out { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} +@-webkit-keyframes animated-node-enter-to-right { + 0% { + opacity: 0; + -webkit-transform: translateX(-30px); + transform: translateX(-30px); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} +@keyframes animated-node-enter-to-right { + 0% { + opacity: 0; + -webkit-transform: translateX(-30px); + transform: translateX(-30px); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} +@-webkit-keyframes animated-node-enter-to-left { + 0% { + opacity: 0; + -webkit-transform: translateX(60px); + transform: translateX(60px); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} +@keyframes animated-node-enter-to-left { + 0% { + opacity: 0; + -webkit-transform: translateX(60px); + transform: translateX(60px); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} +@-webkit-keyframes animated-node-enter-to-top { + 0% { + opacity: 0; + -webkit-transform: translateY(40px); + transform: translateY(40px); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} +@keyframes animated-node-enter-to-top { + 0% { + opacity: 0; + -webkit-transform: translateY(40px); + transform: translateY(40px); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} /*! + + * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */ +/*! + * Bootstrap Grid v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +html { + box-sizing: border-box; + -ms-overflow-style: scrollbar; + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: transparent; +} + +.popover, +.tooltip, +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} + +article, +aside, +figcaption, +figure, +footer, +header, +hgroup, +legend, +main, +nav, +section { + display: block; +} + +label, +output { + display: inline-block; +} + +dl, +h1, +h2, +h3, +h4, +h5, +h6, +ol, +p, +pre, +ul { + margin-top: 0; +} + +dd, +label, +legend { + margin-bottom: 0.5rem; +} + +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +:root { + + --nord0: #2e3440; + --nord1: #3b4252; + --nord2: #434c5e; + --nord3: #4c566a; + --nord4: #d8dee9; + --nord5: #e5e9f0; + --nord6: #eceff4; + --nord7: #8fbcbb; + --nord8: #88c0d0; + --nord9: #81a1c1; + --nord10: #5e81ac; + --nord11: #bf616a; + --nord12: #d08770; + --nord13: #ebcb8b; + --nord14: #a3be8c; + --nord15: #b48ead; + + --blue: #478079; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: var(--nord6); + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #478079; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +/* purgecss start ignore */ +*, +::after, +::before { + box-sizing: border-box; +} + +/* purgecss stop ignore */ +body { + margin: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: var(--nord6); +} + +dt, +kbd kbd { + font-weight: 700; +} + +[tabindex="-1"]:focus { + outline: 0 !important; +} + +abbr[data-original-title], +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + line-height: inherit; +} + +dl, +ol, +ul { + margin-bottom: 1rem; +} + +ol ol, +ol ul, +ul ol, +ul ul { + margin-bottom: 0; +} + +dd { + margin-left: 0; +} + +blockquote, +figure { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: 800; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: #478079; + background-color: transparent; +} + +a:hover { + color: #055047; + text-decoration: underline; +} + +a:not([href]):not([tabindex]), +a:not([href]):not([tabindex]):focus, +a:not([href]):not([tabindex]):hover { + color: inherit; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +code, +kbd, +pre, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-bottom: 1rem; +} + +img { + border-style: none; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +button { + border-radius: 0; +} + +button:focus { + outline: dotted 1px; + outline: -webkit-focus-ring-color auto 5px; +} + +button, +input, +optgroup, +select, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +select { + word-wrap: normal; +} + +[type="button"], +[type="reset"], +[type="submit"], +button { + -webkit-appearance: button; +} + +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled), +button:not(:disabled) { + cursor: pointer; +} + +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner, +button::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="datetime-local"], +input[type="month"], +input[type="time"] { + -webkit-appearance: listbox; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + width: 100%; + max-width: 100%; + padding: 0; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +.blockquote, +hr { + margin-bottom: 1rem; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +.display-2, +.display-3, +.display-4 { + font-weight: 300; + line-height: 1.2; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +.h1, +h1 { + font-size: 2.5rem; +} + +.h2, +h2 { + font-size: 2rem; +} + +.h3, +h3 { + font-size: 1.75rem; +} + +.close, +.h4, +h4 { + font-size: 1.5rem; +} + +.h5, +h5 { + font-size: 1.25rem; +} + +.h6, +h6 { + font-size: 1rem; +} + +.display-2 { + font-size: 5.5rem; +} + +.display-3 { + font-size: 4.5rem; +} + +.display-4 { + font-size: 3.5rem; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; + margin-top: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +.img-fluid, +.img-thumbnail { + max-width: 100%; + height: auto; +} + +.small, +small { + font-size: 80%; + font-weight: 400; +} + +.mark, +mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-inline, +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.dropdown-toggle::after, +.dropleft .dropdown-toggle::after, +.dropleft .dropdown-toggle::before, +.dropright .dropdown-toggle::after, +.dropup .dropdown-toggle::after { + content: ""; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: var(--nord6); + border: 1px solid #dee2e6; + border-radius: 0.25rem; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.form-group, +.table { + margin-bottom: 1rem; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code, +kbd { + font-size: 87.5%; +} + +a>code, +pre code { + color: inherit; +} + +code { + color: #e83e8c; + word-break: break-word; +} + +kbd { + padding: 0.2rem 0.4rem; + color: var(--nord6); + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + width: 100%; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.col, +.col-auto { + max-width: 100%; +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.row { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters>.col, +.no-gutters>[class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col, +.col-1, +.col-10, +.col-11, +.col-12, +.col-2, +.col-3, +.col-4, +.col-5, +.col-6, +.col-7, +.col-8, +.col-9, +.col-auto, +.col-lg, +.col-lg-1, +.col-lg-10, +.col-lg-11, +.col-lg-12, +.col-lg-2, +.col-lg-3, +.col-lg-4, +.col-lg-5, +.col-lg-6, +.col-lg-7, +.col-lg-8, +.col-lg-9, +.col-lg-auto, +.col-md, +.col-md-1, +.col-md-10, +.col-md-11, +.col-md-12, +.col-md-2, +.col-md-3, +.col-md-4, +.col-md-5, +.col-md-6, +.col-md-7, +.col-md-8, +.col-md-9, +.col-md-auto, +.col-sm, +.col-sm-1, +.col-sm-10, +.col-sm-11, +.col-sm-12, +.col-sm-2, +.col-sm-3, +.col-sm-4, +.col-sm-5, +.col-sm-6, +.col-sm-7, +.col-sm-8, +.col-sm-9, +.col-sm-auto, +.col-xl, +.col-xl-1, +.col-xl-10, +.col-xl-11, +.col-xl-12, +.col-xl-2, +.col-xl-3, +.col-xl-4, +.col-xl-5, +.col-xl-6, +.col-xl-7, +.col-xl-8, +.col-xl-9, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; +} + +.col-1, +.col-auto { + -webkit-box-flex: 0; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2, +.col-3 { + -webkit-box-flex: 0; +} + +.col-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + flex: 0 0 25%; + max-width: 25%; +} + +.col-4, +.col-5 { + -webkit-box-flex: 0; +} + +.col-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6, +.col-7 { + -webkit-box-flex: 0; +} + +.col-6 { + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8, +.col-9 { + -webkit-box-flex: 0; +} + +.col-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + flex: 0 0 75%; + max-width: 75%; +} + +.col-10, +.col-11 { + -webkit-box-flex: 0; +} + +.col-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -webkit-box-ordinal-group: 0; + order: -1; +} + +.order-last { + -webkit-box-ordinal-group: 14; + order: 13; +} + +.order-0 { + -webkit-box-ordinal-group: 1; + order: 0; +} + +.order-1 { + -webkit-box-ordinal-group: 2; + order: 1; +} + +.order-2 { + -webkit-box-ordinal-group: 3; + order: 2; +} + +.order-3 { + -webkit-box-ordinal-group: 4; + order: 3; +} + +.order-4 { + -webkit-box-ordinal-group: 5; + order: 4; +} + +.order-5 { + -webkit-box-ordinal-group: 6; + order: 5; +} + +.order-6 { + -webkit-box-ordinal-group: 7; + order: 6; +} + +.order-7 { + -webkit-box-ordinal-group: 8; + order: 7; +} + +.order-8 { + -webkit-box-ordinal-group: 9; + order: 8; +} + +.order-9 { + -webkit-box-ordinal-group: 10; + order: 9; +} + +.order-10 { + -webkit-box-ordinal-group: 11; + order: 10; +} + +.order-11 { + -webkit-box-ordinal-group: 12; + order: 11; +} + +.order-12 { + -webkit-box-ordinal-group: 13; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + + .col-sm-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + + .col-sm-1 { + -webkit-box-flex: 0; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .col-sm-2 { + -webkit-box-flex: 0; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .col-sm-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + + .col-sm-4 { + -webkit-box-flex: 0; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .col-sm-5 { + -webkit-box-flex: 0; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .col-sm-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + + .col-sm-7 { + -webkit-box-flex: 0; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .col-sm-8 { + -webkit-box-flex: 0; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .col-sm-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + + .col-sm-10 { + -webkit-box-flex: 0; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .col-sm-11 { + -webkit-box-flex: 0; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .col-sm-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + + .order-sm-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + + .order-sm-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + + .order-sm-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + + .order-sm-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + + .order-sm-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + + .order-sm-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + + .order-sm-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + + .order-sm-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + + .order-sm-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + + .order-sm-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + + .order-sm-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + + .order-sm-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + + .order-sm-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + + .order-sm-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + + .order-sm-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + + .offset-sm-0 { + margin-left: 0; + } + + .offset-sm-1 { + margin-left: 8.333333%; + } + + .offset-sm-2 { + margin-left: 16.666667%; + } + + .offset-sm-3 { + margin-left: 25%; + } + + .offset-sm-4 { + margin-left: 33.333333%; + } + + .offset-sm-5 { + margin-left: 41.666667%; + } + + .offset-sm-6 { + margin-left: 50%; + } + + .offset-sm-7 { + margin-left: 58.333333%; + } + + .offset-sm-8 { + margin-left: 66.666667%; + } + + .offset-sm-9 { + margin-left: 75%; + } + + .offset-sm-10 { + margin-left: 83.333333%; + } + + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + + .col-md-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + + .col-md-1 { + -webkit-box-flex: 0; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .col-md-2 { + -webkit-box-flex: 0; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .col-md-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + + .col-md-4 { + -webkit-box-flex: 0; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .col-md-5 { + -webkit-box-flex: 0; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .col-md-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + + .col-md-7 { + -webkit-box-flex: 0; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .col-md-8 { + -webkit-box-flex: 0; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .col-md-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + + .col-md-10 { + -webkit-box-flex: 0; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .col-md-11 { + -webkit-box-flex: 0; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .col-md-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + + .order-md-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + + .order-md-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + + .order-md-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + + .order-md-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + + .order-md-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + + .order-md-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + + .order-md-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + + .order-md-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + + .order-md-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + + .order-md-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + + .order-md-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + + .order-md-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + + .order-md-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + + .order-md-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + + .order-md-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + + .offset-md-0 { + margin-left: 0; + } + + .offset-md-1 { + margin-left: 8.333333%; + } + + .offset-md-2 { + margin-left: 16.666667%; + } + + .offset-md-3 { + margin-left: 25%; + } + + .offset-md-4 { + margin-left: 33.333333%; + } + + .offset-md-5 { + margin-left: 41.666667%; + } + + .offset-md-6 { + margin-left: 50%; + } + + .offset-md-7 { + margin-left: 58.333333%; + } + + .offset-md-8 { + margin-left: 66.666667%; + } + + .offset-md-9 { + margin-left: 75%; + } + + .offset-md-10 { + margin-left: 83.333333%; + } + + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + + .col-lg-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + + .col-lg-1 { + -webkit-box-flex: 0; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .col-lg-2 { + -webkit-box-flex: 0; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .col-lg-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + + .col-lg-4 { + -webkit-box-flex: 0; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .col-lg-5 { + -webkit-box-flex: 0; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .col-lg-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + + .col-lg-7 { + -webkit-box-flex: 0; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .col-lg-8 { + -webkit-box-flex: 0; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .col-lg-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + + .col-lg-10 { + -webkit-box-flex: 0; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .col-lg-11 { + -webkit-box-flex: 0; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .col-lg-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + + .order-lg-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + + .order-lg-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + + .order-lg-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + + .order-lg-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + + .order-lg-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + + .order-lg-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + + .order-lg-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + + .order-lg-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + + .order-lg-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + + .order-lg-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + + .order-lg-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + + .order-lg-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + + .order-lg-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + + .order-lg-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + + .order-lg-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + + .offset-lg-0 { + margin-left: 0; + } + + .offset-lg-1 { + margin-left: 8.333333%; + } + + .offset-lg-2 { + margin-left: 16.666667%; + } + + .offset-lg-3 { + margin-left: 25%; + } + + .offset-lg-4 { + margin-left: 33.333333%; + } + + .offset-lg-5 { + margin-left: 41.666667%; + } + + .offset-lg-6 { + margin-left: 50%; + } + + .offset-lg-7 { + margin-left: 58.333333%; + } + + .offset-lg-8 { + margin-left: 66.666667%; + } + + .offset-lg-9 { + margin-left: 75%; + } + + .offset-lg-10 { + margin-left: 83.333333%; + } + + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + + .col-xl-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + + .col-xl-1 { + -webkit-box-flex: 0; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .col-xl-2 { + -webkit-box-flex: 0; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .col-xl-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + + .col-xl-4 { + -webkit-box-flex: 0; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .col-xl-5 { + -webkit-box-flex: 0; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .col-xl-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + + .col-xl-7 { + -webkit-box-flex: 0; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .col-xl-8 { + -webkit-box-flex: 0; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .col-xl-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + + .col-xl-10 { + -webkit-box-flex: 0; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .col-xl-11 { + -webkit-box-flex: 0; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .col-xl-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + + .order-xl-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + + .order-xl-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + + .order-xl-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + + .order-xl-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + + .order-xl-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + + .order-xl-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + + .order-xl-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + + .order-xl-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + + .order-xl-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + + .order-xl-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + + .order-xl-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + + .order-xl-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + + .order-xl-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + + .order-xl-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + + .order-xl-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + + .offset-xl-0 { + margin-left: 0; + } + + .offset-xl-1 { + margin-left: 8.333333%; + } + + .offset-xl-2 { + margin-left: 16.666667%; + } + + .offset-xl-3 { + margin-left: 25%; + } + + .offset-xl-4 { + margin-left: 33.333333%; + } + + .offset-xl-5 { + margin-left: 41.666667%; + } + + .offset-xl-6 { + margin-left: 50%; + } + + .offset-xl-7 { + margin-left: 58.333333%; + } + + .offset-xl-8 { + margin-left: 66.666667%; + } + + .offset-xl-9 { + margin-left: 75%; + } + + .offset-xl-10 { + margin-left: 83.333333%; + } + + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.invalid-tooltip, +.valid-tooltip { + z-index: 5; + max-width: 100%; + top: 100%; +} + +.table { + width: 100%; + color: #212529; +} + +.table td, +.table th { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +.table tbody+tbody { + border-top: 2px solid #dee2e6; +} + +.table-sm td, +.table-sm th { + padding: 0.3rem; +} + +.form-control, +.input-group-text { + padding: 0.375rem 0.75rem; + font-weight: 400; +} + +.table-bordered, +.table-bordered td, +.table-bordered th { + border: 1px solid #dee2e6; +} + +.table-bordered thead td, +.table-bordered thead th { + border-bottom-width: 2px; +} + +.table-borderless tbody+tbody, +.table-borderless td, +.table-borderless th, +.table-borderless thead th { + border: 0; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary>td, +.table-primary>th { + background-color: #b8daff; +} + +.table-primary tbody+tbody, +.table-primary td, +.table-primary th, +.table-primary thead th { + border-color: #7abaff; +} + +.table-hover .table-primary:hover, +.table-hover .table-primary:hover>td, +.table-hover .table-primary:hover>th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary>td, +.table-secondary>th { + background-color: #d6d8db; +} + +.table-secondary tbody+tbody, +.table-secondary td, +.table-secondary th, +.table-secondary thead th { + border-color: #b3b7bb; +} + +.table-hover .table-secondary:hover, +.table-hover .table-secondary:hover>td, +.table-hover .table-secondary:hover>th { + background-color: #c8cbcf; +} + +.table-success, +.table-success>td, +.table-success>th { + background-color: #c3e6cb; +} + +.table-success tbody+tbody, +.table-success td, +.table-success th, +.table-success thead th { + border-color: #8fd19e; +} + +.table-hover .table-success:hover, +.table-hover .table-success:hover>td, +.table-hover .table-success:hover>th { + background-color: #b1dfbb; +} + +.table-info, +.table-info>td, +.table-info>th { + background-color: #bee5eb; +} + +.table-info tbody+tbody, +.table-info td, +.table-info th, +.table-info thead th { + border-color: #86cfda; +} + +.table-hover .table-info:hover, +.table-hover .table-info:hover>td, +.table-hover .table-info:hover>th { + background-color: #abdde5; +} + +.table-warning, +.table-warning>td, +.table-warning>th { + background-color: #ffeeba; +} + +.table-warning tbody+tbody, +.table-warning td, +.table-warning th, +.table-warning thead th { + border-color: #ffdf7e; +} + +.table-hover .table-warning:hover, +.table-hover .table-warning:hover>td, +.table-hover .table-warning:hover>th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger>td, +.table-danger>th { + background-color: #f5c6cb; +} + +.table-danger tbody+tbody, +.table-danger td, +.table-danger th, +.table-danger thead th { + border-color: #ed969e; +} + +.table-hover .table-danger:hover, +.table-hover .table-danger:hover>td, +.table-hover .table-danger:hover>th { + background-color: #f1b0b7; +} + +.table-light, +.table-light>td, +.table-light>th { + background-color: #fdfdfe; +} + +.table-light tbody+tbody, +.table-light td, +.table-light th, +.table-light thead th { + border-color: #fbfcfc; +} + +.table-hover .table-light:hover, +.table-hover .table-light:hover>td, +.table-hover .table-light:hover>th { + background-color: #ececf6; +} + +.table-dark, +.table-dark>td, +.table-dark>th { + background-color: #c6c8ca; +} + +.table-dark tbody+tbody, +.table-dark td, +.table-dark th, +.table-dark thead th { + border-color: #95999c; +} + +.table-hover .table-dark:hover, +.table-hover .table-dark:hover>td, +.table-hover .table-dark:hover>th { + background-color: #b9bbbe; +} + +.table-active, +.table-active>td, +.table-active>th, +.table-hover .table-active:hover, +.table-hover .table-active:hover>td, +.table-hover .table-active:hover>th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: var(--nord6); + background-color: #343a40; + border-color: #454d55; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.table-dark { + color: var(--nord6); + background-color: #343a40; +} + +.table-dark td, +.table-dark th, +.table-dark thead th { + border-color: #454d55; +} + +.table-dark.table-bordered, +.table-responsive>.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + color: var(--nord6); + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + + .table-responsive-sm>.table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + + .table-responsive-md>.table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + + .table-responsive-lg>.table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + + .table-responsive-xl>.table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + font-size: 1rem; + line-height: 1.5; + color: #495057; + background-color: var(--nord6); + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + -webkit-transition: none; + transition: none; + } +} + +.badge, +.btn { + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:focus { + color: #495057; + background-color: var(--nord6); + border-color: #80bdff; + outline: 0; +} + +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled, +.form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: var(--nord6); +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding-top: 0.375rem; + padding-bottom: 0.375rem; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-lg, +.form-control-plaintext.form-control-sm { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-group-lg>.btn, +.btn-lg, +.form-control-lg { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; + line-height: 1.5; +} + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); +} + +select.form-control[multiple], +select.form-control[size], +textarea.form-control { + height: auto; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.custom-control-input.is-valid~.valid-feedback, +.custom-control-input.is-valid~.valid-tooltip, +.custom-file-input.is-valid~.valid-feedback, +.custom-file-input.is-valid~.valid-tooltip, +.custom-select.is-valid~.valid-feedback, +.custom-select.is-valid~.valid-tooltip, +.form-check, +.form-check-input.is-valid~.valid-feedback, +.form-check-input.is-valid~.valid-tooltip, +.form-control-file.is-valid~.valid-feedback, +.form-control-file.is-valid~.valid-tooltip, +.form-control.is-valid~.valid-feedback, +.form-control.is-valid~.valid-tooltip, +.was-validated .custom-control-input:valid~.valid-feedback, +.was-validated .custom-control-input:valid~.valid-tooltip, +.was-validated .custom-file-input:valid~.valid-feedback, +.was-validated .custom-file-input:valid~.valid-tooltip, +.was-validated .custom-select:valid~.valid-feedback, +.was-validated .custom-select:valid~.valid-tooltip, +.was-validated .form-check-input:valid~.valid-feedback, +.was-validated .form-check-input:valid~.valid-tooltip, +.was-validated .form-control-file:valid~.valid-feedback, +.was-validated .form-control-file:valid~.valid-tooltip, +.was-validated .form-control:valid~.valid-feedback, +.was-validated .form-control:valid~.valid-tooltip { + display: block; +} + +.form-row>.col, +.form-row>[class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input:disabled~.form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: -webkit-inline-box; + display: inline-flex; + -webkit-box-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + display: none; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + line-height: 1.5; + color: var(--nord6); + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +.custom-control-input.is-valid~.custom-control-label, +.form-check-input.is-valid~.form-check-label, +.was-validated .custom-control-input:valid~.custom-control-label, +.was-validated .form-check-input:valid~.form-check-label { + color: #28a745; +} + +.form-control.is-valid, +.was-validated .form-control:valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.form-control.is-valid:focus, +.was-validated .form-control:valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated textarea.form-control:valid, +textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.custom-select.is-valid, +.was-validated .custom-select:valid { + border-color: #28a745; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, + url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem / calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat var(--nord6); +} + +.custom-select.is-valid:focus, +.was-validated .custom-select:valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.custom-control-input.is-valid~.custom-control-label::before, +.was-validated .custom-control-input:valid~.custom-control-label::before { + border-color: #28a745; +} + +.custom-control-input.is-valid:checked~.custom-control-label::before, +.was-validated .custom-control-input:valid:checked~.custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +.custom-control-input.is-valid:focus~.custom-control-label::before, +.was-validated .custom-control-input:valid:focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before, +.custom-file-input.is-valid~.custom-file-label, +.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before, +.was-validated .custom-file-input:valid~.custom-file-label { + border-color: #28a745; +} + +.custom-file-input.is-valid:focus~.custom-file-label, +.was-validated .custom-file-input:valid:focus~.custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + display: none; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + line-height: 1.5; + color: var(--nord6); + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.btn-block, +.custom-control-input.is-invalid~.invalid-feedback, +.custom-control-input.is-invalid~.invalid-tooltip, +.custom-file-input.is-invalid~.invalid-feedback, +.custom-file-input.is-invalid~.invalid-tooltip, +.custom-select.is-invalid~.invalid-feedback, +.custom-select.is-invalid~.invalid-tooltip, +.dropdown-header, +.dropdown-item, +.dropdown-item-text, +.dropdown-menu.show, +.form-check-input.is-invalid~.invalid-feedback, +.form-check-input.is-invalid~.invalid-tooltip, +.form-control-file.is-invalid~.invalid-feedback, +.form-control-file.is-invalid~.invalid-tooltip, +.form-control.is-invalid~.invalid-feedback, +.form-control.is-invalid~.invalid-tooltip, +.was-validated .custom-control-input:invalid~.invalid-feedback, +.was-validated .custom-control-input:invalid~.invalid-tooltip, +.was-validated .custom-file-input:invalid~.invalid-feedback, +.was-validated .custom-file-input:invalid~.invalid-tooltip, +.was-validated .custom-select:invalid~.invalid-feedback, +.was-validated .custom-select:invalid~.invalid-tooltip, +.was-validated .form-check-input:invalid~.invalid-feedback, +.was-validated .form-check-input:invalid~.invalid-tooltip, +.was-validated .form-control-file:invalid~.invalid-feedback, +.was-validated .form-control-file:invalid~.invalid-tooltip, +.was-validated .form-control:invalid~.invalid-feedback, +.was-validated .form-control:invalid~.invalid-tooltip { + display: block; +} + +.custom-control-input.is-invalid~.custom-control-label, +.form-check-input.is-invalid~.form-check-label, +.was-validated .custom-control-input:invalid~.custom-control-label, +.was-validated .form-check-input:invalid~.form-check-label { + color: #dc3545; +} + +.form-control.is-invalid, +.was-validated .form-control:invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.form-control.is-invalid:focus, +.was-validated .form-control:invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, +textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.custom-select.is-invalid, +.was-validated .custom-select:invalid { + border-color: #dc3545; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, + url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") center right 1.75rem / calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat var(--nord6); +} + +.custom-select.is-invalid:focus, +.was-validated .custom-select:invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.custom-control-input.is-invalid~.custom-control-label::before, +.was-validated .custom-control-input:invalid~.custom-control-label::before { + border-color: #dc3545; +} + +.custom-control-input.is-invalid:checked~.custom-control-label::before, +.was-validated .custom-control-input:invalid:checked~.custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +.custom-control-input.is-invalid:focus~.custom-control-label::before, +.was-validated .custom-control-input:invalid:focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before, +.custom-file-input.is-invalid~.custom-file-label, +.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before, +.was-validated .custom-file-input:invalid~.custom-file-label { + border-color: #dc3545; +} + +.custom-file-input.is-invalid:focus~.custom-file-label, +.was-validated .custom-file-input:invalid:focus~.custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.btn.focus, +.btn:focus, +.custom-control-input:focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.form-inline { + display: -webkit-box; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + -webkit-box-align: center; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + margin-bottom: 0; + } + + .form-inline .form-group { + display: -webkit-box; + display: flex; + -webkit-box-flex: 0; + flex: 0 0 auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + -webkit-box-align: center; + align-items: center; + margin-bottom: 0; + } + + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + + .form-inline .form-control-plaintext { + display: inline-block; + } + + .form-inline .custom-select, + .form-inline .input-group { + width: auto; + } + + .form-inline .form-check { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + width: auto; + padding-left: 0; + } + + .form-inline .form-check-input { + position: relative; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + + .form-inline .custom-control { + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + } + + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .btn { + -webkit-transition: none; + transition: none; + } +} + +.btn:hover { + color: #212529; +} + +.btn.focus, +.btn:focus { + outline: 0; +} + +.btn-secondary.focus, +.btn-secondary:focus, +.btn-secondary:not(:disabled):not(.disabled).active:focus, +.btn-secondary:not(:disabled):not(.disabled):active:focus, +.show>.btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn.disabled, +.btn:disabled { + opacity: 0.65; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-secondary { + color: var(--nord6); + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:hover { + color: var(--nord6); + background-color: #5a6268; + border-color: #545b62; +} + +.btn-secondary.disabled, +.btn-secondary:disabled { + color: var(--nord6); + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:not(:disabled):not(.disabled).active, +.btn-secondary:not(:disabled):not(.disabled):active, +.show>.btn-secondary.dropdown-toggle { + color: var(--nord6); + background-color: #545b62; + border-color: #4e555b; +} + +.btn-success.focus, +.btn-success:focus, +.btn-success:not(:disabled):not(.disabled).active:focus, +.btn-success:not(:disabled):not(.disabled):active:focus, +.show>.btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-success { + color: var(--nord6); + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:hover { + color: var(--nord6); + background-color: #218838; + border-color: #1e7e34; +} + +.btn-success.disabled, +.btn-success:disabled { + color: var(--nord6); + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:not(:disabled):not(.disabled).active, +.btn-success:not(:disabled):not(.disabled):active, +.show>.btn-success.dropdown-toggle { + color: var(--nord6); + background-color: #1e7e34; + border-color: #1c7430; +} + +.btn-info.focus, +.btn-info:focus, +.btn-info:not(:disabled):not(.disabled).active:focus, +.btn-info:not(:disabled):not(.disabled):active:focus, +.show>.btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-info { + color: var(--nord6); + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:hover { + color: var(--nord6); + background-color: #138496; + border-color: #117a8b; +} + +.btn-info.disabled, +.btn-info:disabled { + color: var(--nord6); + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:not(:disabled):not(.disabled).active, +.btn-info:not(:disabled):not(.disabled):active, +.show>.btn-info.dropdown-toggle { + color: var(--nord6); + background-color: #117a8b; + border-color: #10707f; +} + +.btn-warning.focus, +.btn-warning:focus, +.btn-warning:not(:disabled):not(.disabled).active:focus, +.btn-warning:not(:disabled):not(.disabled):active:focus, +.show>.btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +.btn-warning.disabled, +.btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:not(:disabled):not(.disabled).active, +.btn-warning:not(:disabled):not(.disabled):active, +.show>.btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +.btn-danger.focus, +.btn-danger:focus, +.btn-danger:not(:disabled):not(.disabled).active:focus, +.btn-danger:not(:disabled):not(.disabled):active:focus, +.show>.btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-danger { + color: var(--nord6); + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: var(--nord6); + background-color: #c82333; + border-color: #bd2130; +} + +.btn-danger.disabled, +.btn-danger:disabled { + color: var(--nord6); + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:not(:disabled):not(.disabled).active, +.btn-danger:not(:disabled):not(.disabled):active, +.show>.btn-danger.dropdown-toggle { + color: var(--nord6); + background-color: #bd2130; + border-color: #b21f2d; +} + +.btn-light:not(:disabled):not(.disabled).active, +.btn-light:not(:disabled):not(.disabled):active, +.show>.btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +.btn-light:not(:disabled):not(.disabled).active:focus, +.btn-light:not(:disabled):not(.disabled):active:focus, +.show>.btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-dark.focus, +.btn-dark:focus, +.btn-dark:not(:disabled):not(.disabled).active:focus, +.btn-dark:not(:disabled):not(.disabled):active:focus, +.show>.btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-dark { + color: var(--nord6); + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:hover { + color: var(--nord6); + background-color: #23272b; + border-color: #1d2124; +} + +.btn-dark.disabled, +.btn-dark:disabled { + color: var(--nord6); + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not(:disabled):not(.disabled).active, +.btn-dark:not(:disabled):not(.disabled):active, +.show>.btn-dark.dropdown-toggle { + color: var(--nord6); + background-color: #1d2124; + border-color: #171a1d; +} + +.btn-outline-primary.focus, +.btn-outline-primary:focus, +.btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary { + color: #478079; + border-color: #478079; +} + +.btn-outline-primary:hover { + color: var(--nord6); + background-color: #478079; + border-color: #478079; +} + +.btn-outline-primary.disabled, +.btn-outline-primary:disabled { + color: #478079; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled).active, +.btn-outline-primary:not(:disabled):not(.disabled):active, +.show>.btn-outline-primary.dropdown-toggle { + color: var(--nord6); + background-color: #478079; + border-color: #478079; +} + +.btn-outline-secondary.focus, +.btn-outline-secondary:focus, +.btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:hover { + color: var(--nord6); + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary.disabled, +.btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled).active, +.btn-outline-secondary:not(:disabled):not(.disabled):active, +.show>.btn-outline-secondary.dropdown-toggle { + color: var(--nord6); + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-success.focus, +.btn-outline-success:focus, +.btn-outline-success:not(:disabled):not(.disabled).active:focus, +.btn-outline-success:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-success { + color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: var(--nord6); + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success.disabled, +.btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled).active, +.btn-outline-success:not(:disabled):not(.disabled):active, +.show>.btn-outline-success.dropdown-toggle { + color: var(--nord6); + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-info.focus, +.btn-outline-info:focus, +.btn-outline-info:not(:disabled):not(.disabled).active:focus, +.btn-outline-info:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: var(--nord6); + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info.disabled, +.btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled).active, +.btn-outline-info:not(:disabled):not(.disabled):active, +.show>.btn-outline-info.dropdown-toggle { + color: var(--nord6); + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-warning.focus, +.btn-outline-warning:focus, +.btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning.disabled, +.btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled).active, +.btn-outline-warning:not(:disabled):not(.disabled):active, +.show>.btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-danger.focus, +.btn-outline-danger:focus, +.btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: var(--nord6); + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger.disabled, +.btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled).active, +.btn-outline-danger:not(:disabled):not(.disabled):active, +.show>.btn-outline-danger.dropdown-toggle { + color: var(--nord6); + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-light.focus, +.btn-outline-light:focus, +.btn-outline-light:not(:disabled):not(.disabled).active:focus, +.btn-outline-light:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light.disabled, +.btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled).active, +.btn-outline-light:not(:disabled):not(.disabled):active, +.show>.btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-dark.focus, +.btn-outline-dark:focus, +.btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: var(--nord6); + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark.disabled, +.btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled).active, +.btn-outline-dark:not(:disabled):not(.disabled):active, +.show>.btn-outline-dark.dropdown-toggle { + color: var(--nord6); + background-color: #343a40; + border-color: #343a40; +} + +.btn-link { + font-weight: 400; + color: #478079; +} + +.btn-link:hover { + color: #055047; + text-decoration: underline; +} + +.btn-link.focus, +.btn-link:focus { + text-decoration: underline; + box-shadow: none; +} + +.btn-link.disabled, +.btn-link:disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-group-sm>.btn, +.btn-sm { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + width: 100%; +} + +.btn-block+.btn-block { + margin-top: 0.5rem; +} + +input[type="button"].btn-block, +input[type="reset"].btn-block, +input[type="submit"].btn-block { + width: 100%; +} + +.fade { + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + -webkit-transition: none; + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + -webkit-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + -webkit-transition: none; + transition: none; + } +} + +.dropdown, +.dropleft, +.dropright, +.dropup { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + list-style: none; + background-color: var(--nord6); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropdown-menu-left { + right: auto; + left: 0; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; + } + + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; + vertical-align: 0; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + margin-left: 0.255em; + vertical-align: 0.255em; + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; + vertical-align: 0; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu[x-placement^="bottom"], +.dropdown-menu[x-placement^="left"], +.dropdown-menu[x-placement^="right"], +.dropdown-menu[x-placement^="top"] { + right: auto; + bottom: auto; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.btn-group>.btn-group:not(:first-child)>.btn, +.btn-group>.btn:not(:first-child), +.input-group>.custom-file:not(:first-child) .custom-file-label, +.input-group>.custom-select:not(:first-child), +.input-group>.form-control:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-item:focus, +.dropdown-item:hover { + color: #16181b; + background-color: #f8f9fa; +} + +.dropdown-item.active, +.dropdown-item:active { + color: var(--nord6); + background-color: #478079; +} + +.dropdown-item.disabled, +.dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +.dropdown-header { + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + padding: 0.25rem 1.5rem; + color: #212529; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: -webkit-inline-box; + display: inline-flex; + vertical-align: middle; +} + +.btn-group-vertical>.btn, +.btn-group>.btn { + position: relative; + -webkit-box-flex: 1; + flex: 1 1 auto; +} + +.btn-group-vertical>.btn.active, +.btn-group-vertical>.btn:active, +.btn-group-vertical>.btn:focus, +.btn-group-vertical>.btn:hover, +.btn-group>.btn.active, +.btn-group>.btn:active, +.btn-group>.btn:focus, +.btn-group>.btn:hover { + z-index: 1; +} + +.btn-toolbar { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-pack: start; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group>.btn-group:not(:first-child), +.btn-group>.btn:not(:first-child) { + margin-left: -1px; +} + +.card>hr, +.dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after { + margin-left: 0; +} + +.btn-group>.btn-group:not(:last-child)>.btn, +.btn-group>.btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.input-group-append, +.input-group-append .btn+.btn, +.input-group-append .btn+.input-group-text, +.input-group-append .input-group-text+.btn, +.input-group-append .input-group-text+.input-group-text, +.input-group-prepend .btn+.btn, +.input-group-prepend .btn+.input-group-text, +.input-group-prepend .input-group-text+.btn, +.input-group-prepend .input-group-text+.input-group-text, +.input-group>.custom-file+.custom-file, +.input-group>.custom-file+.custom-select, +.input-group>.custom-file+.form-control, +.input-group>.custom-select+.custom-file, +.input-group>.custom-select+.custom-select, +.input-group>.custom-select+.form-control, +.input-group>.form-control+.custom-file, +.input-group>.form-control+.custom-select, +.input-group>.form-control+.form-control, +.input-group>.form-control-plaintext+.custom-file, +.input-group>.form-control-plaintext+.custom-select, +.input-group>.form-control-plaintext+.form-control, +.page-link { + margin-left: -1px; +} + +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-group-sm>.btn+.dropdown-toggle-split, +.btn-sm+.dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-group-lg>.btn+.dropdown-toggle-split, +.btn-lg+.dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-align: start; + align-items: flex-start; + -webkit-box-pack: center; + justify-content: center; +} + +.input-group, +.nav, +.navbar { + flex-wrap: wrap; +} + +.btn-group-vertical>.btn, +.btn-group-vertical>.btn-group { + width: 100%; +} + +.btn-group-vertical>.btn-group:not(:first-child), +.btn-group-vertical>.btn:not(:first-child) { + margin-top: -1px; +} + +.btn-group-vertical>.btn-group:not(:last-child)>.btn, +.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical>.btn-group:not(:first-child)>.btn, +.btn-group-vertical>.btn:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle>.btn, +.btn-group-toggle>.btn-group>.btn { + margin-bottom: 0; +} + +.btn-group-toggle>.btn input[type="checkbox"], +.btn-group-toggle>.btn input[type="radio"], +.btn-group-toggle>.btn-group>.btn input[type="checkbox"], +.btn-group-toggle>.btn-group>.btn input[type="radio"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: -webkit-box; + display: flex; + -webkit-box-align: stretch; + align-items: stretch; + width: 100%; +} + +.input-group>.custom-file, +.input-group>.custom-select, +.input-group>.form-control, +.input-group>.form-control-plaintext { + position: relative; + -webkit-box-flex: 1; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0; +} + +.input-group>.custom-file .custom-file-input:focus~.custom-file-label, +.input-group>.custom-select:focus, +.input-group>.form-control:focus { + z-index: 3; +} + +.input-group>.custom-file .custom-file-input:focus { + z-index: 4; +} + +.input-group>.custom-select:not(:last-child), +.input-group>.form-control:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group>.custom-file { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; +} + +.input-group>.custom-file:not(:last-child) .custom-file-label, +.input-group>.custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group-append, +.input-group-prepend { + display: -webkit-box; + display: flex; +} + +.input-group-text, +.nav, +.navbar { + display: -webkit-box; +} + +.input-group-append .btn, +.input-group-prepend .btn { + position: relative; + z-index: 2; +} + +.input-group-append .btn:focus, +.input-group-prepend .btn:focus { + z-index: 3; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-text { + display: flex; + -webkit-box-align: center; + align-items: center; + margin-bottom: 0; + font-size: 1rem; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-text input[type="checkbox"], +.input-group-text input[type="radio"] { + margin-top: 0; +} + +.input-group-lg>.custom-select, +.input-group-lg>.form-control:not(textarea) { + height: calc(1.5em + 1rem + 2px); +} + +.input-group-lg>.custom-select, +.input-group-lg>.form-control, +.input-group-lg>.input-group-append>.btn, +.input-group-lg>.input-group-append>.input-group-text, +.input-group-lg>.input-group-prepend>.btn, +.input-group-lg>.input-group-prepend>.input-group-text { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.input-group-sm>.custom-select, +.input-group-sm>.form-control:not(textarea) { + height: calc(1.5em + 0.5rem + 2px); +} + +.input-group-sm>.custom-select, +.input-group-sm>.form-control, +.input-group-sm>.input-group-append>.btn, +.input-group-sm>.input-group-append>.input-group-text, +.input-group-sm>.input-group-prepend>.btn, +.input-group-sm>.input-group-prepend>.input-group-text { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.input-group-lg>.custom-select, +.input-group-sm>.custom-select { + padding-right: 1.75rem; +} + +.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle), +.input-group>.input-group-append:last-child>.input-group-text:not(:last-child), +.input-group>.input-group-append:not(:last-child)>.btn, +.input-group>.input-group-append:not(:last-child)>.input-group-text, +.input-group>.input-group-prepend>.btn, +.input-group>.input-group-prepend>.input-group-text { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group>.input-group-append>.btn, +.input-group>.input-group-append>.input-group-text, +.input-group>.input-group-prepend:first-child>.btn:not(:first-child), +.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child), +.input-group>.input-group-prepend:not(:first-child)>.btn, +.input-group>.input-group-prepend:not(:first-child)>.input-group-text { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +.custom-control-inline { + display: -webkit-inline-box; + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +.custom-control-input:checked~.custom-control-label::before { + color: var(--nord6); + border-color: #478079; + background-color: #478079; +} + +.custom-control-input:focus:not(:checked)~.custom-control-label::before { + border-color: #80bdff; +} + +.custom-control-input:not(:disabled):active~.custom-control-label::before { + color: var(--nord6); + background-color: #b3d7ff; + border-color: #b3d7ff; +} + +.custom-control-input:disabled~.custom-control-label { + color: #6c757d; +} + +.custom-control-input:disabled~.custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +.custom-control-label::after, +.custom-control-label::before { + position: absolute; + left: -1.5rem; + width: 1rem; + height: 1rem; + content: ""; +} + +.custom-control-label::before { + top: 0.25rem; + display: block; + pointer-events: none; + background-color: var(--nord6); + border: 1px solid #adb5bd; +} + +.custom-control-label::after { + top: 0.25rem; + display: block; + background: 50%/50% 50% no-repeat; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked~.custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before { + border-color: #478079; + background-color: #478079; +} + +.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before, +.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before, +.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked~.custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.custom-switch { + padding-left: 2.25rem; +} + +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + -webkit-transition: none; + transition: none; + } +} + +.custom-switch .custom-control-input:checked~.custom-control-label::after { + background-color: var(--nord6); + -webkit-transform: translateX(0.75rem); + transform: translateX(0.75rem); +} + +.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat var(--nord6); + border: 1px solid #ced4da; + border-radius: 0.25rem; + -moz-appearance: none; + appearance: none; +} + +.custom-file-input:focus~.custom-file-label, +.custom-select:focus { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-select:focus { + outline: 0; +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: var(--nord6); +} + +.custom-file-input:disabled~.custom-file-label, +.custom-select:disabled { + background-color: #e9ecef; +} + +.custom-select[multiple], +.custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; +} + +.custom-select::-ms-expand { + display: none; +} + +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.custom-file, +.custom-file-input, +.custom-file-label { + height: calc(1.5em + 0.75rem + 2px); +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + margin: 0; + opacity: 0; +} + +.custom-file-label, +.custom-file-label::after { + position: absolute; + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + top: 0; + right: 0; +} + +.custom-file-input:lang(en)~.custom-file-label::after { + content: "Browse"; +} + +.custom-file-input~.custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +.custom-file-label { + left: 0; + z-index: 1; + font-weight: 400; + background-color: var(--nord6); + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.custom-file-label::after { + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-range { + width: 100%; + height: calc(1rem + 0.4rem); + padding: 0; + background-color: transparent; + -moz-appearance: none; + appearance: none; +} + +.custom-range:focus { + outline: 0; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px var(--nord6), 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px var(--nord6), 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px var(--nord6), 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #478079; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #478079; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + -webkit-transition: none; + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #478079; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + -webkit-transition: none; + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + + .custom-control-label::before, + .custom-file-label, + .custom-select { + -webkit-transition: none; + transition: none; + } +} + +.nav { + display: flex; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link, +.navbar { + padding: 0.5rem 1rem; +} + +.nav-link { + display: block; +} + +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:focus, +.nav-tabs .nav-link:hover { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-item.show .nav-link, +.nav-tabs .nav-link.active { + color: #495057; + background-color: var(--nord6); + border-color: #dee2e6 #dee2e6 var(--nord6); +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show>.nav-link { + color: var(--nord6); + background-color: #478079; +} + +.nav-fill .nav-item { + -webkit-box-flex: 1; + flex: 1 1 auto; + text-align: center; +} + +.nav-justified .nav-item { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + text-align: center; +} + +.tab-content>.tab-pane { + display: none; +} + +.tab-content>.active { + display: block; +} + +.navbar { + position: relative; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: justify; + justify-content: space-between; +} + +.navbar>.container, +.navbar>.container-fluid { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: justify; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-nav { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + flex-basis: 100%; + -webkit-box-flex: 1; + flex-grow: 1; + -webkit-box-align: center; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: center center no-repeat; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + + .navbar-expand-sm>.container, + .navbar-expand-sm>.container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + + .navbar-expand-sm, + .navbar-expand-sm .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + } + + .navbar-expand-sm { + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + + .navbar-expand-sm>.container, + .navbar-expand-sm>.container-fluid { + flex-wrap: nowrap; + } + + .navbar-expand-sm .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + + .navbar-expand-md>.container, + .navbar-expand-md>.container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + + .navbar-expand-md, + .navbar-expand-md .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + } + + .navbar-expand-md { + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + + .navbar-expand-md>.container, + .navbar-expand-md>.container-fluid { + flex-wrap: nowrap; + } + + .navbar-expand-md .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + + .navbar-expand-lg>.container, + .navbar-expand-lg>.container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + + .navbar-expand-lg, + .navbar-expand-lg .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + } + + .navbar-expand-lg { + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + + .navbar-expand-lg>.container, + .navbar-expand-lg>.container-fluid { + flex-wrap: nowrap; + } + + .navbar-expand-lg .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + + .navbar-expand-xl>.container, + .navbar-expand-xl>.container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + + .navbar-expand-xl, + .navbar-expand-xl .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + } + + .navbar-expand-xl { + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + + .navbar-expand-xl>.container, + .navbar-expand-xl>.container-fluid { + flex-wrap: nowrap; + } + + .navbar-expand-xl .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +.navbar-expand { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; +} + +.navbar-expand>.container, +.navbar-expand>.container-fluid { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.alert, +.btn .badge, +.card, +.list-group-item, +.page-link { + position: relative; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +.navbar-expand>.container, +.navbar-expand>.container-fluid { + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; +} + +.card, +.card-deck { + -webkit-box-direction: normal; + flex-direction: column; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-light .navbar-brand, +.navbar-light .navbar-brand:focus, +.navbar-light .navbar-brand:hover { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:focus, +.navbar-light .navbar-nav .nav-link:hover { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .active>.nav-link, +.navbar-light .navbar-nav .nav-link.active, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .show>.nav-link { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a, +.navbar-light .navbar-text a:focus, +.navbar-light .navbar-text a:hover { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand, +.navbar-dark .navbar-brand:focus, +.navbar-dark .navbar-brand:hover { + color: var(--nord6); +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:focus, +.navbar-dark .navbar-nav .nav-link:hover { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .active>.nav-link, +.navbar-dark .navbar-nav .nav-link.active, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .show>.nav-link { + color: var(--nord6); +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a, +.navbar-dark .navbar-text a:focus, +.navbar-dark .navbar-text a:hover { + color: var(--nord6); +} + +.card { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + min-width: 0; + word-wrap: break-word; + background-color: var(--nord6); + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card-header+.list-group .list-group-item:first-child, +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0; +} + +.card>hr { + margin-right: 0; +} + +.card>.list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card>.list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.card-body { + -webkit-box-flex: 1; + flex: 1 1 auto; + padding: 1.25rem; +} + +.card-footer, +.card-header { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-header, +.card-subtitle, +.card-text:last-child, +.list-group { + margin-bottom: 0; +} + +.card-subtitle { + margin-top: -0.375rem; +} + +.card-link+.card-link { + margin-left: 1.25rem; +} + +.card-header-pills, +.card-header-tabs { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-header { + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-footer { + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-bottom: -0.75rem; + border-bottom: 0; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +.card-img { + width: 100%; + border-radius: calc(0.25rem - 1px); +} + +.card-img-top { + width: 100%; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img-bottom { + width: 100%; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + + .card-deck .card { + display: -webkit-box; + display: flex; + -webkit-box-flex: 1; + flex: 1 0 0%; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group, +.progress-bar { + flex-direction: column; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; +} + +.card-group { + display: -webkit-box; + display: flex; +} + +.card-group>.card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + } + + .card-group>.card { + -webkit-box-flex: 1; + flex: 1 0 0%; + margin-bottom: 0; + } + + .card-group>.card+.card { + margin-left: 0; + border-left: 0; + } + + .card-group>.card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + .card-group>.card:not(:last-child) .card-header, + .card-group>.card:not(:last-child) .card-img-top { + border-top-right-radius: 0; + } + + .card-group>.card:not(:last-child) .card-footer, + .card-group>.card:not(:last-child) .card-img-bottom { + border-bottom-right-radius: 0; + } + + .card-group>.card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .card-group>.card:not(:first-child) .card-header, + .card-group>.card:not(:first-child) .card-img-top { + border-top-left-radius: 0; + } + + .card-group>.card:not(:first-child) .card-footer, + .card-group>.card:not(:first-child) .card-img-bottom { + border-bottom-left-radius: 0; + } + + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.card-columns .card, +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +.accordion>.card:not(:first-of-type) .card-header:first-child { + border-radius: 0; +} + +.accordion>.card:not(:first-of-type):not(:last-of-type) { + border-bottom: 0; + border-radius: 0; +} + +.accordion>.card:first-of-type { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.accordion>.card:last-of-type { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.breadcrumb, +.pagination { + border-radius: 0.25rem; + list-style: none; +} + +.accordion>.card .card-header { + margin-bottom: -1px; +} + +.breadcrumb { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + background-color: #e9ecef; +} + +.breadcrumb-item+.breadcrumb-item { + padding-left: 0.5rem; +} + +.breadcrumb-item+.breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: -webkit-box; + display: flex; + padding-left: 0; +} + +.page-link { + display: block; + padding: 0.5rem 0.75rem; + line-height: 1.25; + color: #478079; + background-color: var(--nord6); + border: 1px solid #dee2e6; +} + +.page-link:hover { + z-index: 2; + color: #055047; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 2; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 1; + color: var(--nord6); + background-color: #478079; + border-color: #478079; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: var(--nord6); + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.badge, +.close { + font-weight: 700; + line-height: 1; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge, +.progress { + border-radius: 0.25rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + text-align: center; + white-space: nowrap; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .badge { + -webkit-transition: none; + transition: none; + } +} + +.badge:empty { + display: none; +} + +.btn .badge { + top: -1px; +} + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: var(--nord6); + background-color: #478079; +} + +a.badge-primary:focus, +a.badge-primary:hover { + color: var(--nord6); + background-color: #0062cc; +} + +a.badge-primary.focus, +a.badge-primary:focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.badge-secondary { + color: var(--nord6); + background-color: #6c757d; +} + +a.badge-secondary:focus, +a.badge-secondary:hover { + color: var(--nord6); + background-color: #545b62; +} + +a.badge-secondary.focus, +a.badge-secondary:focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.badge-success { + color: var(--nord6); + background-color: #28a745; +} + +a.badge-success:focus, +a.badge-success:hover { + color: var(--nord6); + background-color: #1e7e34; +} + +a.badge-success.focus, +a.badge-success:focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.badge-info { + color: var(--nord6); + background-color: #17a2b8; +} + +a.badge-info:focus, +a.badge-info:hover { + color: var(--nord6); + background-color: #117a8b; +} + +a.badge-info.focus, +a.badge-info:focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +a.badge-warning:focus, +a.badge-warning:hover { + color: #212529; + background-color: #d39e00; +} + +a.badge-warning.focus, +a.badge-warning:focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.badge-danger { + color: var(--nord6); + background-color: #dc3545; +} + +a.badge-danger:focus, +a.badge-danger:hover { + color: var(--nord6); + background-color: #bd2130; +} + +a.badge-danger.focus, +a.badge-danger:focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +a.badge-light:focus, +a.badge-light:hover { + color: #212529; + background-color: #dae0e5; +} + +a.badge-light.focus, +a.badge-light:focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.badge-dark { + color: var(--nord6); + background-color: #343a40; +} + +a.badge-dark:focus, +a.badge-dark:hover { + color: var(--nord6); + background-color: #1d2124; +} + +a.badge-dark.focus, +a.badge-dark:focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +.alert-secondary .alert-link { + color: #202326; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: var(--nord6)3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + + to { + background-position: 0 0; + } +} + +.progress { + display: -webkit-box; + display: flex; + height: 1rem; + font-size: 0.75rem; + background-color: #e9ecef; +} + +.progress-bar { + display: -webkit-box; + display: flex; + -webkit-box-pack: center; + justify-content: center; + color: var(--nord6); + text-align: center; + white-space: nowrap; + background-color: #478079; + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +.popover, +.tooltip { + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + word-wrap: break-word; + text-decoration: none; +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + -webkit-transition: none; + transition: none; + } + + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.media { + display: -webkit-box; + display: flex; + -webkit-box-align: start; + align-items: flex-start; +} + +.media-body { + -webkit-box-flex: 1; + flex: 1; +} + +.list-group { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + padding-left: 0; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:focus, +.list-group-item-action:hover { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: -1px; + background-color: var(--nord6); + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.list-group-item.disabled, +.list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: var(--nord6); +} + +.list-group-item.active { + z-index: 2; + color: var(--nord6); + background-color: #478079; + border-color: #478079; +} + +.list-group-horizontal { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; +} + +.list-group-horizontal .list-group-item { + margin-right: -1px; + margin-bottom: 0; +} + +.list-group-horizontal .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +.list-group-horizontal .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + + .list-group-horizontal-sm .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + + .list-group-horizontal-sm .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + + .list-group-horizontal-sm .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + + .list-group-horizontal-md .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + + .list-group-horizontal-md .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + + .list-group-horizontal-md .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + + .list-group-horizontal-lg .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + + .list-group-horizontal-lg .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + + .list-group-horizontal-lg .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + + .list-group-horizontal-xl .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + + .list-group-horizontal-xl .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + + .list-group-horizontal-xl .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} + +.list-group-flush .list-group-item:last-child { + margin-bottom: -1px; +} + +.list-group-flush:last-child .list-group-item:last-child { + margin-bottom: 0; + border-bottom: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +.list-group-item-primary.list-group-item-action:focus, +.list-group-item-primary.list-group-item-action:hover { + color: #004085; + background-color: #9fcdff; +} + +.list-group-item-primary.list-group-item-action.active { + color: var(--nord6); + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +.list-group-item-secondary.list-group-item-action:focus, +.list-group-item-secondary.list-group-item-action:hover { + color: #383d41; + background-color: #c8cbcf; +} + +.list-group-item-secondary.list-group-item-action.active { + color: var(--nord6); + background-color: #383d41; + border-color: #383d41; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +.list-group-item-success.list-group-item-action:focus, +.list-group-item-success.list-group-item-action:hover { + color: #155724; + background-color: #b1dfbb; +} + +.list-group-item-success.list-group-item-action.active { + color: var(--nord6); + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +.list-group-item-info.list-group-item-action:focus, +.list-group-item-info.list-group-item-action:hover { + color: #0c5460; + background-color: #abdde5; +} + +.list-group-item-info.list-group-item-action.active { + color: var(--nord6); + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +.list-group-item-warning.list-group-item-action:focus, +.list-group-item-warning.list-group-item-action:hover { + color: #856404; + background-color: #ffe8a1; +} + +.list-group-item-warning.list-group-item-action.active { + color: var(--nord6); + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +.list-group-item-danger.list-group-item-action:focus, +.list-group-item-danger.list-group-item-action:hover { + color: #721c24; + background-color: #f1b0b7; +} + +.list-group-item-danger.list-group-item-action.active { + color: var(--nord6); + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:focus, +.list-group-item-light.list-group-item-action:hover { + color: #818182; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: var(--nord6); + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:focus, +.list-group-item-dark.list-group-item-action:hover { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: var(--nord6); + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + color: var(--nord0); + text-shadow: 0 1px 0 var(--nord6); + opacity: 0.5; +} + +.popover, +.toast, +.tooltip { + font-size: 0.875rem; +} + +.popover, +.text-hide, +.tooltip { + text-shadow: none; +} + +.close:hover { + color: var(--nord0); + text-decoration: none; +} + +.close:not(:disabled):not(.disabled):focus, +.close:not(:disabled):not(.disabled):hover { + opacity: 0.75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.toast, +.toast-header { + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; +} + +a.close.disabled { + pointer-events: none; +} + +.toast { + max-width: 350px; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + opacity: 0; + border-radius: 0.25rem; +} + +.toast.showing { + opacity: 1; +} + +.toast.show { + display: block; + opacity: 1; +} + +.toast.hide { + display: none; +} + +.toast-header { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} + +.toast-body { + padding: 0.75rem; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + -webkit-transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -50px); + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + -webkit-transition: none; + transition: none; + } +} + +.modal.show .modal-dialog { + -webkit-transform: none; + transform: none; +} + +.modal-dialog-scrollable { + display: -webkit-box; + display: flex; + max-height: calc(100% - 1rem); +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +.modal-dialog-scrollable .modal-footer, +.modal-dialog-scrollable .modal-header { + flex-shrink: 0; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; +} + +.modal-dialog-centered.modal-dialog-scrollable { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + height: 100%; +} + +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +.modal-content { + position: relative; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: var(--nord6); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: var(--nord0); +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: -webkit-box; + display: flex; + -webkit-box-align: start; + align-items: flex-start; + -webkit-box-pack: justify; + justify-content: space-between; + padding: 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: 0.3rem; + border-top-right-radius: 0.3rem; +} + +.modal-header .close { + padding: 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + -webkit-box-flex: 1; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: end; + justify-content: flex-end; + padding: 1rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.modal-footer> :not(:first-child) { + margin-left: 0.25rem; +} + +.modal-footer> :not(:last-child) { + margin-right: 0.25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + } + + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-weight: 400; + line-height: 1.5; + text-align: start; + letter-spacing: normal; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-auto[x-placement^="top"], +.bs-tooltip-top { + padding: 0.4rem 0; +} + +.bs-tooltip-auto[x-placement^="top"] .arrow, +.bs-tooltip-top .arrow { + bottom: 0; +} + +.bs-tooltip-auto[x-placement^="top"] .arrow::before, +.bs-tooltip-top .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: var(--nord0); +} + +.bs-tooltip-auto[x-placement^="right"], +.bs-tooltip-right { + padding: 0 0.4rem; +} + +.bs-tooltip-auto[x-placement^="right"] .arrow, +.bs-tooltip-right .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-auto[x-placement^="right"] .arrow::before, +.bs-tooltip-right .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: var(--nord0); +} + +.bs-tooltip-auto[x-placement^="bottom"], +.bs-tooltip-bottom { + padding: 0.4rem 0; +} + +.bs-tooltip-auto[x-placement^="bottom"] .arrow, +.bs-tooltip-bottom .arrow { + top: 0; +} + +.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, +.bs-tooltip-bottom .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: var(--nord0); +} + +.bs-tooltip-auto[x-placement^="left"], +.bs-tooltip-left { + padding: 0 0.4rem; +} + +.bs-tooltip-auto[x-placement^="left"] .arrow, +.bs-tooltip-left .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-auto[x-placement^="left"] .arrow::before, +.bs-tooltip-left .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: var(--nord0); +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: var(--nord6); + text-align: center; + background-color: var(--nord0); + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + letter-spacing: normal; + background-color: var(--nord6); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::after, +.popover .arrow::before { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-auto[x-placement^="top"], +.bs-popover-top { + margin-bottom: 0.5rem; +} + +.bs-popover-auto[x-placement^="top"]>.arrow, +.bs-popover-top>.arrow { + bottom: calc((0.5rem + 1px) * -1); +} + +.bs-popover-auto[x-placement^="top"]>.arrow::before, +.bs-popover-top>.arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-auto[x-placement^="top"]>.arrow::after, +.bs-popover-top>.arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: var(--nord6); +} + +.bs-popover-auto[x-placement^="right"], +.bs-popover-right { + margin-left: 0.5rem; +} + +.bs-popover-auto[x-placement^="right"]>.arrow, +.bs-popover-right>.arrow { + left: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-auto[x-placement^="right"]>.arrow::before, +.bs-popover-right>.arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-auto[x-placement^="right"]>.arrow::after, +.bs-popover-right>.arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: var(--nord6); +} + +.bs-popover-auto[x-placement^="bottom"], +.bs-popover-bottom { + margin-top: 0.5rem; +} + +.bs-popover-auto[x-placement^="bottom"]>.arrow, +.bs-popover-bottom>.arrow { + top: calc((0.5rem + 1px) * -1); +} + +.bs-popover-auto[x-placement^="bottom"]>.arrow::before, +.bs-popover-bottom>.arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-auto[x-placement^="bottom"]>.arrow::after, +.bs-popover-bottom>.arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem; + border-bottom-color: var(--nord6); +} + +.bs-popover-auto[x-placement^="bottom"] .popover-header::before, +.bs-popover-bottom .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.carousel, +.carousel-inner, +.carousel-item { + position: relative; +} + +.bs-popover-auto[x-placement^="left"], +.bs-popover-left { + margin-right: 0.5rem; +} + +.bs-popover-auto[x-placement^="left"]>.arrow, +.bs-popover-left>.arrow { + right: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-auto[x-placement^="left"]>.arrow::before, +.bs-popover-left>.arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-auto[x-placement^="left"]>.arrow::after, +.bs-popover-left>.arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: var(--nord6); +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + -webkit-transition: none; + transition: none; + } +} + +.carousel-item-next, +.carousel-item-prev, +.carousel-item.active { + display: block; +} + +.active.carousel-item-right, +.carousel-item-next:not(.carousel-item-left) { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +.active.carousel-item-left, +.carousel-item-prev:not(.carousel-item-right) { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + -webkit-transition-property: opacity; + transition-property: opacity; + -webkit-transform: none; + transform: none; +} + +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right, +.carousel-fade .carousel-item.active { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + -webkit-transition: 0s 0.6s opacity; + transition: 0s 0.6s opacity; +} + +@media (prefers-reduced-motion: reduce) { + + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + -webkit-transition: none; + transition: none; + } +} + +.carousel-control-next, +.carousel-control-prev { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + width: 15%; + color: var(--nord6); + text-align: center; + opacity: 0.5; + -webkit-transition: opacity 0.15s ease; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + + .carousel-control-next, + .carousel-control-prev { + -webkit-transition: none; + transition: none; + } +} + +.carousel-control-next:focus, +.carousel-control-next:hover, +.carousel-control-prev:focus, +.carousel-control-prev:hover { + color: var(--nord6); + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-next-icon, +.carousel-control-prev-icon { + display: inline-block; + width: 20px; + height: 20px; + background: 50%/100% 100% no-repeat; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: -webkit-box; + display: flex; + -webkit-box-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.spinner-border, +.spinner-grow { + display: inline-block; + vertical-align: text-bottom; +} + +.carousel-indicators li { + box-sizing: content-box; + -webkit-box-flex: 0; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: var(--nord6); + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + -webkit-transition: opacity 0.6s ease; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + -webkit-transition: none; + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: var(--nord6); + text-align: center; +} + +@-webkit-keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.spinner-border { + width: 2rem; + height: 2rem; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: spinner-border 0.75s linear infinite; + animation: spinner-border 0.75s linear infinite; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + + 50% { + opacity: 1; + } +} + +@keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + + 50% { + opacity: 1; + } +} + +.spinner-grow { + width: 2rem; + height: 2rem; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: spinner-grow 0.75s linear infinite; + animation: spinner-grow 0.75s linear infinite; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #478079 !important; +} + +a.bg-primary:focus, +a.bg-primary:hover, +button.bg-primary:focus, +button.bg-primary:hover { + background-color: #0062cc !important; +} + +.bg-secondary { + background-color: #6c757d !important; +} + +a.bg-secondary:focus, +a.bg-secondary:hover, +button.bg-secondary:focus, +button.bg-secondary:hover { + background-color: #545b62 !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:focus, +a.bg-success:hover, +button.bg-success:focus, +button.bg-success:hover { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:focus, +a.bg-info:hover, +button.bg-info:focus, +button.bg-info:hover { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:focus, +a.bg-warning:hover, +button.bg-warning:focus, +button.bg-warning:hover { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:focus, +a.bg-danger:hover, +button.bg-danger:focus, +button.bg-danger:hover { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:focus, +a.bg-light:hover, +button.bg-light:focus, +button.bg-light:hover { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:focus, +a.bg-dark:hover, +button.bg-dark:focus, +button.bg-dark:hover { + background-color: #1d2124 !important; +} + +.bg-white { + background-color: var(--nord6) !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #478079 !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: var(--nord6) !important; +} + +.rounded-sm { + border-radius: 0.2rem !important; +} + +.rounded-right, +.rounded-top { + border-top-right-radius: 0.25rem !important; +} + +.rounded-bottom, +.rounded-right { + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-left, +.rounded-top { + border-top-left-radius: 0.25rem !important; +} + +.rounded-bottom, +.rounded-left { + border-bottom-left-radius: 0.25rem !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-lg { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -webkit-box !important; + display: flex !important; +} + +.d-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + + .d-sm-inline { + display: inline !important; + } + + .d-sm-inline-block { + display: inline-block !important; + } + + .d-sm-block { + display: block !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: -webkit-box !important; + display: flex !important; + } + + .d-sm-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + + .d-md-inline { + display: inline !important; + } + + .d-md-inline-block { + display: inline-block !important; + } + + .d-md-block { + display: block !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: -webkit-box !important; + display: flex !important; + } + + .d-md-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + + .d-lg-inline { + display: inline !important; + } + + .d-lg-inline-block { + display: inline-block !important; + } + + .d-lg-block { + display: block !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: -webkit-box !important; + display: flex !important; + } + + .d-lg-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + + .d-xl-inline { + display: inline !important; + } + + .d-xl-inline-block { + display: inline-block !important; + } + + .d-xl-block { + display: block !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: -webkit-box !important; + display: flex !important; + } + + .d-xl-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + + .d-print-inline { + display: inline !important; + } + + .d-print-inline-block { + display: inline-block !important; + } + + .d-print-block { + display: block !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: -webkit-box !important; + display: flex !important; + } + + .d-print-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive embed, +.embed-responsive iframe, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; +} + +.flex-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; +} + +.flex-column-reverse, +.flex-row-reverse { + -webkit-box-direction: reverse !important; +} + +.flex-row-reverse { + -webkit-box-orient: horizontal !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -webkit-box-orient: vertical !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.justify-content-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -webkit-box-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.align-items-start { + -webkit-box-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -webkit-box-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -webkit-box-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -webkit-box-align: stretch !important; + 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; +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.fixed-bottom, +.fixed-top { + position: fixed; + z-index: 1030; + right: 0; + left: 0; +} + +.fixed-top { + top: 0; +} + +.fixed-bottom { + bottom: 0; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.vw-100 { + width: 100vw !important; +} + +.vh-100 { + height: 100vh !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +.text-justify { + text-align: justify !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + + .flex-sm-column, + .flex-sm-row { + -webkit-box-direction: normal !important; + } + + .flex-sm-row { + -webkit-box-orient: horizontal !important; + flex-direction: row !important; + } + + .flex-sm-column { + -webkit-box-orient: vertical !important; + flex-direction: column !important; + } + + .flex-sm-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + + .flex-sm-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + + .flex-sm-wrap { + flex-wrap: wrap !important; + } + + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .flex-sm-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + + .flex-sm-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + + .flex-sm-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + + .justify-content-sm-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + + .justify-content-sm-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + + .justify-content-sm-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + + .justify-content-sm-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + + .justify-content-sm-around { + justify-content: space-around !important; + } + + .align-items-sm-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + + .align-items-sm-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + + .align-items-sm-center { + -webkit-box-align: center !important; + align-items: center !important; + } + + .align-items-sm-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + + .align-items-sm-stretch { + -webkit-box-align: stretch !important; + 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; + } + + .float-sm-left { + float: left !important; + } + + .float-sm-right { + float: right !important; + } + + .float-sm-none { + float: none !important; + } + + .m-sm-0 { + margin: 0 !important; + } + + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + + .m-sm-1 { + margin: 0.25rem !important; + } + + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + + .m-sm-2 { + margin: 0.5rem !important; + } + + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + + .m-sm-3 { + margin: 1rem !important; + } + + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + + .m-sm-4 { + margin: 1.5rem !important; + } + + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + + .m-sm-5 { + margin: 3rem !important; + } + + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + + .p-sm-0 { + padding: 0 !important; + } + + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + + .p-sm-1 { + padding: 0.25rem !important; + } + + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + + .p-sm-2 { + padding: 0.5rem !important; + } + + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + + .p-sm-3 { + padding: 1rem !important; + } + + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + + .p-sm-4 { + padding: 1.5rem !important; + } + + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + + .p-sm-5 { + padding: 3rem !important; + } + + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + + .m-sm-n1 { + margin: -0.25rem !important; + } + + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + + .m-sm-n2 { + margin: -0.5rem !important; + } + + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + + .m-sm-n3 { + margin: -1rem !important; + } + + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + + .m-sm-n4 { + margin: -1.5rem !important; + } + + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + + .m-sm-n5 { + margin: -3rem !important; + } + + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + + .m-sm-auto { + margin: auto !important; + } + + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } + + .text-sm-left { + text-align: left !important; + } + + .text-sm-right { + text-align: right !important; + } + + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + + .flex-md-column, + .flex-md-row { + -webkit-box-direction: normal !important; + } + + .flex-md-row { + -webkit-box-orient: horizontal !important; + flex-direction: row !important; + } + + .flex-md-column { + -webkit-box-orient: vertical !important; + flex-direction: column !important; + } + + .flex-md-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + + .flex-md-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + + .flex-md-wrap { + flex-wrap: wrap !important; + } + + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .flex-md-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + + .flex-md-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + + .flex-md-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + + .justify-content-md-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + + .justify-content-md-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + + .justify-content-md-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + + .justify-content-md-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + + .justify-content-md-around { + justify-content: space-around !important; + } + + .align-items-md-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + + .align-items-md-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + + .align-items-md-center { + -webkit-box-align: center !important; + align-items: center !important; + } + + .align-items-md-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + + .align-items-md-stretch { + -webkit-box-align: stretch !important; + 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; + } + + .float-md-left { + float: left !important; + } + + .float-md-right { + float: right !important; + } + + .float-md-none { + float: none !important; + } + + .m-md-0 { + margin: 0 !important; + } + + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + + .m-md-1 { + margin: 0.25rem !important; + } + + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + + .m-md-2 { + margin: 0.5rem !important; + } + + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + + .m-md-3 { + margin: 1rem !important; + } + + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + + .m-md-4 { + margin: 1.5rem !important; + } + + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + + .m-md-5 { + margin: 3rem !important; + } + + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + + .p-md-0 { + padding: 0 !important; + } + + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + + .p-md-1 { + padding: 0.25rem !important; + } + + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + + .p-md-2 { + padding: 0.5rem !important; + } + + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + + .p-md-3 { + padding: 1rem !important; + } + + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + + .p-md-4 { + padding: 1.5rem !important; + } + + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + + .p-md-5 { + padding: 3rem !important; + } + + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + + .m-md-n1 { + margin: -0.25rem !important; + } + + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + + .m-md-n2 { + margin: -0.5rem !important; + } + + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + + .m-md-n3 { + margin: -1rem !important; + } + + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + + .m-md-n4 { + margin: -1.5rem !important; + } + + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + + .m-md-n5 { + margin: -3rem !important; + } + + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + + .m-md-auto { + margin: auto !important; + } + + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } + + .text-md-left { + text-align: left !important; + } + + .text-md-right { + text-align: right !important; + } + + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + + .flex-lg-column, + .flex-lg-row { + -webkit-box-direction: normal !important; + } + + .flex-lg-row { + -webkit-box-orient: horizontal !important; + flex-direction: row !important; + } + + .flex-lg-column { + -webkit-box-orient: vertical !important; + flex-direction: column !important; + } + + .flex-lg-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + + .flex-lg-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + + .flex-lg-wrap { + flex-wrap: wrap !important; + } + + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .flex-lg-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + + .flex-lg-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + + .flex-lg-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + + .justify-content-lg-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + + .justify-content-lg-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + + .justify-content-lg-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + + .justify-content-lg-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + + .justify-content-lg-around { + justify-content: space-around !important; + } + + .align-items-lg-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + + .align-items-lg-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + + .align-items-lg-center { + -webkit-box-align: center !important; + align-items: center !important; + } + + .align-items-lg-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + + .align-items-lg-stretch { + -webkit-box-align: stretch !important; + 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; + } + + .float-lg-left { + float: left !important; + } + + .float-lg-right { + float: right !important; + } + + .float-lg-none { + float: none !important; + } + + .m-lg-0 { + margin: 0 !important; + } + + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + + .m-lg-1 { + margin: 0.25rem !important; + } + + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + + .m-lg-2 { + margin: 0.5rem !important; + } + + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + + .m-lg-3 { + margin: 1rem !important; + } + + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + + .m-lg-4 { + margin: 1.5rem !important; + } + + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + + .m-lg-5 { + margin: 3rem !important; + } + + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + + .p-lg-0 { + padding: 0 !important; + } + + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + + .p-lg-1 { + padding: 0.25rem !important; + } + + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + + .p-lg-2 { + padding: 0.5rem !important; + } + + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + + .p-lg-3 { + padding: 1rem !important; + } + + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + + .p-lg-4 { + padding: 1.5rem !important; + } + + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + + .p-lg-5 { + padding: 3rem !important; + } + + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + + .m-lg-n1 { + margin: -0.25rem !important; + } + + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + + .m-lg-n2 { + margin: -0.5rem !important; + } + + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + + .m-lg-n3 { + margin: -1rem !important; + } + + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + + .m-lg-n4 { + margin: -1.5rem !important; + } + + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + + .m-lg-n5 { + margin: -3rem !important; + } + + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + + .m-lg-auto { + margin: auto !important; + } + + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } + + .text-lg-left { + text-align: left !important; + } + + .text-lg-right { + text-align: right !important; + } + + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + + .flex-xl-column, + .flex-xl-row { + -webkit-box-direction: normal !important; + } + + .flex-xl-row { + -webkit-box-orient: horizontal !important; + flex-direction: row !important; + } + + .flex-xl-column { + -webkit-box-orient: vertical !important; + flex-direction: column !important; + } + + .flex-xl-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + + .flex-xl-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + + .flex-xl-wrap { + flex-wrap: wrap !important; + } + + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .flex-xl-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + + .flex-xl-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + + .flex-xl-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + + .justify-content-xl-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + + .justify-content-xl-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + + .justify-content-xl-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + + .justify-content-xl-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + + .justify-content-xl-around { + justify-content: space-around !important; + } + + .align-items-xl-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + + .align-items-xl-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + + .align-items-xl-center { + -webkit-box-align: center !important; + align-items: center !important; + } + + .align-items-xl-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + + .align-items-xl-stretch { + -webkit-box-align: stretch !important; + 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; + } + + .float-xl-left { + float: left !important; + } + + .float-xl-right { + float: right !important; + } + + .float-xl-none { + float: none !important; + } + + .m-xl-0 { + margin: 0 !important; + } + + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + + .m-xl-1 { + margin: 0.25rem !important; + } + + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + + .m-xl-2 { + margin: 0.5rem !important; + } + + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + + .m-xl-3 { + margin: 1rem !important; + } + + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + + .m-xl-4 { + margin: 1.5rem !important; + } + + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + + .m-xl-5 { + margin: 3rem !important; + } + + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + + .p-xl-0 { + padding: 0 !important; + } + + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + + .p-xl-1 { + padding: 0.25rem !important; + } + + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + + .p-xl-2 { + padding: 0.5rem !important; + } + + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + + .p-xl-3 { + padding: 1rem !important; + } + + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + + .p-xl-4 { + padding: 1.5rem !important; + } + + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + + .p-xl-5 { + padding: 3rem !important; + } + + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + + .m-xl-n1 { + margin: -0.25rem !important; + } + + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + + .m-xl-n2 { + margin: -0.5rem !important; + } + + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + + .m-xl-n3 { + margin: -1rem !important; + } + + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + + .m-xl-n4 { + margin: -1.5rem !important; + } + + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + + .m-xl-n5 { + margin: -3rem !important; + } + + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + + .m-xl-auto { + margin: auto !important; + } + + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } + + .text-xl-left { + text-align: left !important; + } + + .text-xl-right { + text-align: right !important; + } + + .text-xl-center { + text-align: center !important; + } + + .container { + max-width: 1200px; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-lighter { + font-weight: lighter !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-weight-bolder { + font-weight: bolder !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: var(--nord6) !important; +} + +.text-primary { + color: #478079 !important; +} + +a.text-primary:focus, +a.text-primary:hover { + color: #055047 !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:focus, +a.text-secondary:hover { + color: #494f54 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:focus, +a.text-success:hover { + color: #19692c !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:focus, +a.text-info:hover { + color: #0f6674 !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:focus, +a.text-warning:hover { + color: #ba8b00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:focus, +a.text-danger:hover { + color: #a71d2a !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:focus, +a.text-light:hover { + color: #cbd3da !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:focus, +a.text-dark:hover { + color: #121416 !important; +} + +.text-body { + color: #212529 !important; +} + +.text-muted { + color: #969696 !important; +} + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + background-color: transparent; + border: 0; +} + +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6, +p { + font-style: normal; + font-stretch: normal; + letter-spacing: -0.2px; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; +} + +.text-reset { + color: inherit !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + + blockquote, + img, + pre, + tr { + page-break-inside: avoid; + } + + *, + ::after, + ::before { + text-shadow: none !important; + box-shadow: none !important; + } + + a:not(.btn) { + text-decoration: underline; + } + + abbr[title]::after { + content: " (" attr(title) ")"; + } + + pre { + white-space: pre-wrap !important; + } + + blockquote, + pre { + border: 1px solid #adb5bd; + } + + thead { + display: table-header-group; + } + + h2, + h3, + p { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } + + @page { + size: a3; + } + + .container, + body { + min-width: 992px !important; + } + + .navbar { + display: none; + } + + .badge { + border: 1px solid var(--nord0); + } + + .table { + border-collapse: collapse !important; + } + + .table td, + .table th { + background-color: var(--nord6) !important; + } + + .table-bordered td, + .table-bordered th { + border: 1px solid #dee2e6 !important; + } + + .table-dark { + color: inherit; + } + + .table-dark tbody+tbody, + .table-dark td, + .table-dark th, + .table-dark thead th { + border-color: #dee2e6; + } + + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} + +.container { + padding-left: 24px; + padding-right: 24px; +} + +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: 700; + line-height: normal; + color: var(--nord0); + margin-bottom: 8px; +} + +@media (min-width: 992px) { + + .h1, + .h2, + .h3, + .h4, + .h5, + .h6, + h1, + h2, + h3, + h4, + h5, + h6 { + margin-bottom: 10px; + } +} + +h1, +h2 { + margin-bottom: 16px; +} + +h2 { + font-size: 32px; +} + +@media (min-width: 992px) { + h1 { + margin-bottom: 10px; + } + + h2 { + margin-bottom: 10px; + font-size: 48px; + } +} + +h3, +h4 { + font-size: 20px; + font-weight: 600; +} + +@media (min-width: 992px) { + + h3, + h4 { + font-size: 32px; + } + + p { + line-height: 28px; + } +} + +p { + margin-bottom: 30px; + font-size: 16px; + font-weight: 300; + line-height: 28px; + color: var(--nord2); +} + +p+p { + margin-top: -12px; +} + +.display-1 { + font-size: 36px; + font-weight: 800; + line-height: normal; + color: var(--nord1); +} + +@media (min-width: 992px) { + .display-1 { + font-size: 60px; + } +} + +p a, +span a { + color: var(--nord7); + font-weight: 600; + text-decoration: none; + border-bottom: 1px solid var(--nord7); +} + +p a:hover, +span a:hover { + color: var(--nord8); + text-decoration: none; +} + +.lead, +.lead > p { + font-size: 16px; + font-weight: 300; + line-height: 1.2; + letter-spacing: -0px; + color: var(--nord1); +} + +br { + content: ""; + margin: 2em; + display: block; + font-size: 24%; +} + +@media (min-width: 992px) { + .lead, + .lead > p { + font-size: 18px; + } + + .contact { + margin-top: -2px; + } +} + +.form-control:focus { + box-shadow: none; +} + +.btn-frameless.focus, +.btn-frameless:focus, +.btn-frameless:not(:disabled):not(.disabled).active:focus, +.btn-frameless:not(:disabled):not(.disabled):active:focus, +.btn-primary.focus, +.btn-primary:focus, +.btn-primary:not(:disabled):not(.disabled).active:focus, +.btn-primary:not(:disabled):not(.disabled):active:focus, +.show>.btn-frameless.dropdown-toggle:focus, +.show>.btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(233, 62, 52, 0.5); +} + +/* purgecss start ignore */ +.btn { + display: -webkit-inline-box; + display: inline-flex; + -webkit-box-pack: center; + justify-content: center; + -webkit-box-align: center; + align-items: center; + border-radius: 0; + white-space: nowrap; + line-height: 1; + font-weight: 700; + font-size: 14px; + padding: 14px 15px; +} + +.btn [class^="icon-"] { + font-size: 16px; + margin-right: 9px; +} + +.btn [class^="icon-"]::before { + margin-left: 0; + margin-right: 0; +} + +.btn [class^="icon-arrow-right"] { + margin-left: 6px; + margin-right: 0; +} + +.btn [class^="icon-arrow-right"]::before { + margin-left: 0; + margin-right: 0; +} + +/* purgecss stop ignore */ +.btn-lg { + line-height: 1.91; + min-width: 140px; +} + +.btn-primary { + position: relative; + color: var(--nord6); + background-color: var(--nord3); + border-color: var(--nord3); + will-change: border-color, color, background-color; + -webkit-transition: border-color, color, background-color; + transition: border-color, color, background-color; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} + +.btn-primary:hover { + color: var(--nord2); + background-color: transparent; + border-color: var(--nord3); +} + +.btn-primary.disabled, +.btn-primary.focus, +.btn-primary:disabled, +.btn-primary:focus, +.btn-primary:not(:disabled):not(.disabled).active, +.btn-primary:not(:disabled):not(.disabled):active, +.show>.btn-primary.dropdown-toggle { + color: var(--nord4); + background-color: var(--nord3); + border-color: var(--nord3); +} + +.btn-frameless { + position: relative; + color: var(--nord2); + background-color: transparent; + border-color: transparent; + will-change: border-color, background-color, border-color; + -webkit-transition: border-color, background-color, border-color; + transition: border-color, background-color, border-color; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} + +.btn-frameless.disabled, +.btn-frameless.focus, +.btn-frameless:disabled, +.btn-frameless:focus, +.btn-frameless:hover, +.btn-frameless:not(:disabled):not(.disabled).active, +.btn-frameless:not(:disabled):not(.disabled):active, +.show>.btn-frameless.dropdown-toggle { + background-color: transparent; + border-color: transparent; + color: var(--nord7); +} + +.btn-light { + position: relative; + font-size: 16px; + color: var(--nord2); + font-weight: 600; + background-color: var(--nord6); + background-position: 0 50%; + background-size: 100% 100%; + border-color: var(--nord6); + will-change: border-color, color, background-color; + -webkit-transition: border-color, color, background-color; + transition: border-color, color, background-color; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} + +.btn-light:hover { + color: var(--nord6); + background-color: transparent; + border-color: var(--nord6); +} + +.btn-light.focus, +.btn-light:focus { + color: var(--nord2); + background-color: var(--nord6); + border-color: var(--nord6); + box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); +} + +.btn-light.disabled, +.btn-light:disabled { + color: var(--nord6); + background-color: var(--nord2); + border-color: var(--nord2); +} + +.btn-light.disabled::before, +.btn-light:disabled::before { + opacity: 0.3; +} + +.btn-light:not(:disabled):not(.disabled).active, +.btn-light:not(:disabled):not(.disabled):active { + color: var(--nord0); + background-color: var(--nord6); + border-color: var(--nord6); +} + +.btn-light:not(:disabled):not(.disabled):active:focus .btn-light:not(:disabled):not(.disabled).active:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); +} + +.btn-rounded { + border-radius: 100px; +} + +.btn.is-loading { + position: relative; + overflow: hidden; + pointer-events: none; + padding-right: 35px; +} + +.btn.is-loading::after { + content: ""; + display: block; + position: absolute; + bottom: 0; + right: 100%; + height: 3px; + -webkit-animation-name: button-loading; + animation-name: button-loading; + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-timing-function: linear; + animation-timing-function: linear; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + margin-right: 10px; + width: 60px; + border-radius: 100%; + box-shadow: 0 0 30px 1px #004aff; + background-image: -webkit-gradient(linear, + left top, + right top, + color-stop(0, rgba(255, 255, 255, 0)), + color-stop(10%, rgba(255, 255, 255, 0)), + color-stop(35%, rgba(255, 255, 255, 0.33)), + color-stop(50%, rgba(255, 255, 255, 0.5)), + color-stop(85%, var(--nord6)), + to(rgba(255, 255, 255, 0))); + background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.33) 35%, rgba(255, 255, 255, 0.5) 50%, var(--nord6) 85%, rgba(255, 255, 255, 0) 100%); +} + +@-webkit-keyframes button-loading { + 0% { + right: 100%; + } + + 100% { + right: -100%; + } +} + +@keyframes button-loading { + 0% { + right: 100%; + } + + 100% { + right: -100%; + } +} + +.btn.is-loading:disabled { + opacity: 1; + color: rgba(0, 74, 255, 0.5); +} + +.btn.is-loading:disabled>* { + opacity: 0.5; +} + +[class^="icon-"] { + font-size: 19px; +} + +.contact { + padding: 30px 30px 60px 30px; +} + +@media (min-width: 768px) { + .contact { + padding: 80px 80px 100px 80px; + } +} + +.experience+.experience { + padding-top: 50px; +} + +.contact>h2 { + color: var(--nord6); +} + +.contact__info h4 { + margin-bottom: 0; + font-size: 16px; + font-weight: 300; + line-height: 2; + color: var(--nord0); +} + +.contact__info h3 { + margin-bottom: 0; + font-size: 1.2rem; + font-weight: 500; + line-height: 2; + color: var(--nord0); +} + +.contact__info span { + font-size: 1.2rem; + font-weight: 700; + line-height: normal; + color: var(--nord4); +} + +.contact__info span+h3 { + margin-top: 20px; +} + +@media (min-width: 992px) { + .contact__info span+h3 { + margin-top: 40px; + } +} + +input[type="text"], +input[type="email"], +textarea { + padding: 10px 0; + width: 100%; + font-size: 16px; + font-weight: 300; + line-height: 2; + color: var(--nord5); + border: none; + border-bottom: 1px solid #dbe0e4; +} + +.education__date, +.experience__date { + line-height: 1.57; +} + +input[type="text"]::-webkit-input-placeholder, +input[type="email"]::-webkit-input-placeholder { + color: var(--nord5); +} + +input[type="text"]::-moz-placeholder, +input[type="email"]::-moz-placeholder { + color: var(--nord5); +} + +input[type="text"]::-ms-input-placeholder, +input[type="email"]::-ms-input-placeholder { + color: var(--nord5); +} + +input[type="text"]::placeholder, +input[type="email"]::placeholder { + color: var(--nord5); +} + +.rad-subscription-group { + margin-top: 30px; + margin-left: auto; + margin-right: auto; + display: -webkit-box; + display: flex; + -webkit-box-pack: justify; + justify-content: space-between; + -webkit-box-align: center; + align-items: center; + padding: 6px; + max-width: 462px; + height: 56px; + border: 1px solid var(--nord6); + border-radius: 56px; +} + +.rad-subscription-group form { + -webkit-box-flex: 1; + flex: 1; + display: -webkit-box; + display: flex; + -webkit-box-pack: justify; + justify-content: space-between; + -webkit-box-align: center; + align-items: center; +} + +.rad-subscription-group #rad-subscription-fail, +.rad-subscription-group #rad-subscription-success { + -webkit-box-flex: 1; + flex: 1; + display: -webkit-box; + display: flex; + -webkit-box-pack: center; + justify-content: center; + -webkit-box-align: center; + align-items: center; +} + +.rad-subscription-group #rad-subscription-fail p, +.rad-subscription-group #rad-subscription-success p { + color: var(--nord6); + margin-bottom: 0; + width: 100%; +} + +.rad-subscription-group input[type="email"] { + padding: 0 12px; + background-color: transparent; + border: none; + border-radius: 56px; + color: var(--nord6); +} + +.rad-subscription-group input[type="email"]::-webkit-input-placeholder { + color: var(--nord6); +} + +.rad-subscription-group input[type="email"]::-moz-placeholder { + color: var(--nord6); +} + +.rad-subscription-group input[type="email"]::-ms-input-placeholder { + color: var(--nord6); +} + +.rad-subscription-group input[type="email"]::placeholder { + color: var(--nord6); +} + +.rad-subscription-group button { + white-space: nowrap; +} + +.social-links-group a:not(:last-child) { + margin-right: 15px; +} + +.education { + position: relative; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + -webkit-box-align: start; + align-items: flex-start; + min-height: 131px; +} + +.education::before { + content: ""; + position: absolute; + left: 90px; + top: 0; + width: 75px; + height: 100%; + z-index: 1; + background-color: var(--nord4); + -webkit-transform: skew(-13deg); + transform: skew(-13deg); +} + +.education__date { + position: relative; + font-size: 14px; + font-weight: 300; + color: var(--nord3); + z-index: 2; +} + +.education__title { + position: relative; + font-size: 24px; + font-weight: 600; + z-index: 2; +} + +.education__degree, +.experience__date { + font-size: 14px; + font-weight: 300; + color: var(--nord3); + z-index: 2; + position: relative; +} + +.about__profile-picture { + -webkit-box-flex: 0; + flex: 0 0 calc(100% + 80px); + max-width: calc(100% + 80px); + width: calc(100% + 80px); + margin-left: -40px; + margin-right: -40px; + margin-top: 40px; +} + +.about__profile-picture img { + min-width: 200px; + min-height: 200px; +} + +html, +html body { + min-height: 100%; +} + +@media (min-width: 768px) { + .about__profile-picture { + margin-top: 0; + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + width: 50%; + margin-left: 0; + margin-right: 0; + } +} + +.experience__title { + position: relative; + font-size: 20px; + font-weight: 600; + z-index: 2; +} + +@media (min-width: 992px) { + .experience__title { + font-size: 24px; + } +} + +.experience__company { + font-size: 14px; + font-weight: 700; + color: #AE1B13; +} + +.clients { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-pack: start; + justify-content: flex-start; + -webkit-box-align: center; + align-items: center; + margin-bottom: -30px; + margin-left: -20px; +} + +@media (min-width: 768px) { + .clients { + margin-left: -50px; + } +} + +@media (min-width: 1200px) { + .clients { + -webkit-box-pack: justify; + justify-content: space-between; + } +} + +.clients__item { + opacity: 0.5; + margin-bottom: 30px; + margin-left: 20px; + -webkit-transition-property: opacity; + transition-property: opacity; + -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); + transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); + -webkit-transition-duration: 0.2s; + transition-duration: 0.2s; +} + +.clients__item:hover { + opacity: 1; +} + +.testimonial .icon-quote { + display: block; + margin-bottom: 16px; +} + +@media (min-width: 768px) { + .clients__item { + margin-left: 50px; + } + + .testimonial .icon-quote { + margin-bottom: 24px; + } + + .img-clip-left-backward { + -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 14% 100%); + clip-path: polygon(0 0, 100% 0, 100% 100%, 14% 100%); + } +} + +.testimonial__author { + display: -webkit-box; + display: flex; + -webkit-box-pack: start; + justify-content: flex-start; + -webkit-box-align: center; + align-items: center; +} + +.testimonial__author-info, +html body { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; +} + +.testimonial__author-image { + margin-right: 16px; + width: 52px; + height: 52px; + border-radius: 100%; +} + +.testimonial__author-info { + display: flex; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + -webkit-box-align: start; + align-items: flex-start; +} + +.testimonial__author-info h3 { + font-size: 16px; + margin-bottom: 0; +} + +.testimonial__author-info span { + font-size: 14px; + font-weight: 700; + color: #AE1B13; +} + +html { + height: 100%; + overflow-x: hidden; +} + +html body { + display: flex; + flex-direction: column; + overflow: hidden; + color: var(--nord0); + font-family: Helvetica, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-family: Helvetica; + letter-spacing: 0.3px; + word-spacing: 0px; + visibility: visible; + font-weight: 400; +} + +html body ::-moz-selection { + background-color: #AE1B13; + color: var(--nord6); +} + +html body ::selection { + background-color: #AE1B13; + color: var(--nord6); +} + +input[type="text"]:focus, +input[type="email"]:focus, +input[type="password"]:focus, +textarea:focus { + outline: 0; +} + +.section { + position: relative; + padding-top: 60px; + padding-bottom: 60px; +} + +.section--border-bottom::after { + content: ""; + position: absolute; + left: 50%; + bottom: 0; + width: 100%; + height: 1px; + max-width: 1170px; + background-color: #dbe0e4; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); +} + +.section .row.row--padded { + margin-top: 32px; + margin-bottom: 60px; +} + +@media (min-width: 1200px) { + .section div[class*="col-"].rad-col-text:first-child { + max-width: 500px; + margin-right: auto; + } + + .section div[class*="col-"].rad-col-text:not(:first-child) { + max-width: 500px; + margin-left: auto; + } +} + +.section div[class*="col-"].rad-col-text h2 { + text-align: center; +} + +@media (min-width: 992px) { + .section { + padding-top: 80px; + padding-bottom: 80px; + } + + .section .row.row--padded { + margin-top: 80px; + margin-bottom: 80px; + } + + .section div[class*="col-"].rad-col-text h2 { + text-align: left; + } +} + +.section div[class*="col-"].rad-col-text p { + text-align: center; +} + +.section div[class*="col-"] img { + max-width: 100%; +} + +.section div[class*="col-"] img.image-left-overflow { + margin-left: 0; +} + +@media (min-width: 768px) { + .img-clip-left-forward { + -webkit-clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); + clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); + } + + .img-clip-right-backward { + -webkit-clip-path: polygon(0 0, 86% 0, 100% 100%, 0 100%); + clip-path: polygon(0 0, 86% 0, 100% 100%, 0 100%); + } + + .img-clip-right-forward { + -webkit-clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%); + clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%); + } + + .section div[class*="col-"] img.image-left-overflow { + margin-left: -50px; + } + + .section div[class*="col-"] img.image-right-overflow { + margin-right: -150px; + } +} + +.section--cta { + padding-top: 80px; + padding-bottom: 80px; + background-color: var(--nord0); + color: var(--nord6); +} + +.section--cta .h2, +.section--cta h2 { + color: var(--nord6); +} + +.section--contact { + padding-top: 80px; + + @media (min-width: 768px) { + padding-top: 80px; + } + + padding-bottom: 0; + background-position: 0 100%; +} + +.section--contact .container { + background-color: var(--nord3); + color: var(--nord5); +} + +.section li { + display: block; + position: relative; + padding-left: 15px; + font-size: 16px; + font-weight: 300; + color: rgba(0, 0, 0, 0.6); + line-height: 1.24; + margin-bottom: 12px; + text-align: left; +} + +.section li::before { + content: ""; + display: block; + position: absolute; + left: 0; + top: 10px; + width: 4px; + height: 4px; + border-radius: 2px; + background-color: var(--nord0); +} + +.header.collapse.show::before, +.header.collapsing::before { + background-color: var(--nord6); + opacity: 1; +} + +.header+.section { + margin-top: 120px; +} + +.section.four-o-four { + -webkit-box-flex: 1; + flex: 1; +} + +.four-o-four { + -webkit-box-flex: 1; + flex: 1; + padding: 125px 30px; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + -webkit-box-align: center; + align-items: center; +} + +.header { + padding-top: 20px; + -webkit-transition-property: height, padding, background-color, box-shadow; + transition-property: height, padding, background-color, box-shadow; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} + +.header::before { + position: absolute; + left: 0; + top: 0; + opacity: 0; + content: ""; + width: 100%; + height: 100%; + background-image: none; + background-size: 100% 100%; + background-position: 50% 100%; + -webkit-transition-property: opacity; + transition-property: opacity; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} + +.header.collapse, +.header.collapse:not(.show) { + display: block; +} + +.header .navbar-brand, +.header .navbar-nav { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; +} + +.header.collapse.show { + height: 100vh; +} + +.header.collapse.show::before { + -webkit-transition-duration: 0; + transition-duration: 0; +} + +.header.collapsing { + height: 100vh !important; +} + +.header .navbar { + -webkit-box-pack: center; + justify-content: center; +} + +@media (min-width: 992px) { + .section div[class*="col-"].rad-col-text p { + text-align: left; + } + + .section div[class*="col-"] img.image-left-overflow { + margin-left: -75px; + } + + .header { + padding-top: 35px; + } + + .header .navbar { + -webkit-box-pack: justify; + justify-content: space-between; + } +} + +.header .navbar-collapse.collapsing { + overflow: hidden !important; +} + +.header .navbar-brand { + display: flex; + flex-direction: column; + -webkit-box-pack: start; + justify-content: flex-start; + -webkit-box-align: start; + align-items: flex-start; + margin-right: 0; +} + +.header .navbar-brand img { + width: 117px; + max-height: 50px; + -o-object-fit: contain; + object-fit: contain; + -o-object-position: center center; + object-position: center center; +} + +.header .navbar-brand span { + display: block; +} + +.header .navbar-brand span:first-child { + align-self: center; + font-size: 25px; + font-weight: 900; + letter-spacing: -1.17px; + color: #AE1B13; +} + +@media (min-width: 768px) { + .header .navbar-brand img { + width: 156px; + max-height: 70px; + } + + .header .navbar-brand span:first-child { + font-size: 32.9px; + } +} + +.header .navbar-brand span:nth-child(2) { + margin-top: -20px; + align-self: center; + font-family: AutumnMoon; + font-size: 25px; + font-weight: 400; + letter-spacing: -1.17px; + color: var(--nord1); +} + +@media (min-width: 768px) { + .header .navbar-brand span:nth-child(2) { + font-size: 32.9px; + margin-top: -26px; + } +} + +.header .navbar-toggler:not(.nav-link) { + position: absolute; + left: 0; + top: 14px; + border: none; +} + +.header .navbar-toggler:not(.nav-link)-icon { + -webkit-transform: scale(0.8); + transform: scale(0.8); + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important; +} + +.header .navbar-nav { + display: flex; + flex-direction: column; + -webkit-box-pack: start; + justify-content: flex-start; + -webkit-box-align: center; + align-items: center; +} + +.header .navbar-collapse { + margin-top: 30px; + overflow-y: auto; + max-height: calc(100vh - 123px); +} + +@media (min-width: 992px) { + .header .navbar-brand { + margin-right: 16px; + } + + .header .navbar-toggler:not(.nav-link) { + position: relative; + } + + .header .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + align-self: flex-end; + } + + .header .navbar-collapse { + margin-top: 0; + overflow-y: visible; + max-height: unset; + } +} + +.header .navbar .nav-item { + width: 100%; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + overflow: hidden; +} + +.header .navbar .nav-item * { + box-sizing: border-box; + -webkit-transition: all 0.35s ease; + transition: all 0.35s ease; +} + +.header .navbar .nav-item:first-child { + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +.header .navbar .nav-item .nav-link { + position: relative; + display: -webkit-box; + display: flex; + -webkit-box-pack: center; + justify-content: center; + -webkit-box-align: center; + align-items: center; + min-height: 50px; + font-size: 18px; + font-weight: 700; + color: var(--nord3); + padding-top: 20px; + padding-bottom: 20px; +} + +@media (min-width: 992px) { + .header .navbar .nav-item { + width: auto; + border-bottom: none; + } + + .header .navbar .nav-item:first-child { + border-top: none; + } + + .header .navbar .nav-item .nav-link { + font-size: 14px; + padding-top: 0; + padding-bottom: 0; + } +} + +@media (min-width: 1200px) { + .section div[class*="col-"] img.image-left-overflow { + margin-left: -120px; + } + + .header .navbar .nav-item .nav-link { + padding-left: 20px; + padding-right: 20px; + } +} + +.header .navbar .nav-item .nav-link::after { + content: ""; + position: absolute; + left: 20px; + bottom: 5px; + height: 1px; + width: calc(100% - 40px); + background-color: rgba(0, 0, 0, 0.6); + will-change: transform; + -webkit-transform-origin: 0 50%; + transform-origin: 0 50%; + -webkit-transform: scaleX(0); + transform: scaleX(0); + -webkit-transition-property: -webkit-transform; + transition-property: -webkit-transform; + transition-property: transform; + transition-property: transform, -webkit-transform; + -webkit-transition-duration: 0.4s; + transition-duration: 0.4s; + -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); + transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); +} + +.header .navbar-text { + display: -webkit-box; + display: flex; + -webkit-box-pack: center; + justify-content: center; + -webkit-box-align: center; + align-items: center; + width: 100%; + padding-top: 30px; + padding-bottom: 30px; +} + +@media (min-width: 992px) { + .header .navbar .nav-item:hover .nav-link::after { + -webkit-transform: scaleX(1); + transform: scaleX(1); + } + + .header .navbar-text { + display: block; + width: auto; + padding: 0; + } +} + +.header .navbar-light .navbar-nav .nav-link { + color: var(--nord2); +} + +.header--sticky-triggered { + padding-top: 5px; + padding-bottom: 5px; + background-color: var(--nord6); + box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1); +} + +.footer { + padding-top: 60px; + padding-bottom: 60px; +} + +.footer .container { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: start; + justify-content: flex-start; + -webkit-box-align: center; + align-items: center; +} + +@media (min-width: 992px) { + .footer .container { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } +} + +.footer__left { + display: -webkit-box; + display: flex; + -webkit-box-pack: start; + justify-content: flex-start; + -webkit-box-align: center; + align-items: center; +} + +.footer__right { + display: -webkit-box; + display: flex; + -webkit-box-pack: end; + justify-content: flex-end; + -webkit-box-align: center; + align-items: center; + grid-area: right; +} + +.footer__links { + -webkit-box-flex: 1; + flex: 1; + grid-area: links; + margin-top: 30px; + margin-bottom: 30px; +} + +@media (min-width: 992px) { + .footer__links { + display: -webkit-box; + display: flex; + -webkit-box-pack: center; + justify-content: center; + -webkit-box-align: center; + align-items: center; + margin-top: 0; + margin-bottom: 0; + } +} + +.footer__copy { + color: var(--nord3); + white-space: wrap; + font-size: 12px; + font-weight: 300; +} + +.footer .navbar-nav { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: start; + justify-content: flex-start; + -webkit-box-align: center; + align-items: center; +} + +@media (min-width: 992px) { + .footer .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + align-self: stretch; + } +} + +.footer .navbar-nav .nav-item .nav-link { + display: -webkit-box; + display: flex; + -webkit-box-pack: center; + justify-content: center; + -webkit-box-align: center; + align-items: center; + font-size: 18px; + font-weight: 500; + color: var(--nord6); + padding-top: 4px; + padding-bottom: 4px; + min-height: 50px; + white-space: nowrap; +} + +@media (min-width: 992px) { + .footer .navbar-nav .nav-item .nav-link { + display: -webkit-box; + display: flex; + font-size: 14px; + padding: 0 8px; + } +} + +.rad-showcase { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + -webkit-box-align: center; + align-items: center; + position: relative; + margin-bottom: -20px; + padding-top: 120px; + + @media (max-width: 768px) { + padding-top: 60px; + } +} + +.rad-showcase__bg { + -webkit-box-pack: start; + justify-content: flex-start; + -webkit-box-align: center; + align-items: center; + height: 100%; + position: absolute; + left: 50%; + z-index: 0; + display: none; +} + +.rad-showcase__bg img { + width: 100%; + margin-top: 90px; + height: 100%; + max-height: 721px; +} + +@media (min-width: 968px) { + .rad-showcase { + min-height: 870px; + padding-top: 0; + margin-bottom: 0; + } + + .rad-showcase__bg { + display: -webkit-box; + display: flex; + right: -50px; + } + + .rad-showcase__bg img { + width: auto; + } +} + +.rad-showcase__bg--mobile { + display: -webkit-box; + display: flex; + position: relative; + left: 0; + right: 0; + opacity: 1; +} + +.rad-showcase__bg--mobile img { + margin-top: 40px; +} + +.rad-showcase .container { + position: relative; + z-index: 2; +} + +.rad-showcase .container h1 { + width: 100%; + font-size: 32px; +} + +@media (min-width: 968px) { + .rad-showcase__bg--mobile { + display: none; + } + + .rad-showcase .container h1 { + font-size: 48px; + } +} + +.rad-showcase .container h1 span { + display: block; + margin-top: 5px; + font-weight: 300; +} + +.rad-showcase .container p.lead { + width: 100%; +} + +.rad-showcase .platform-links { + margin-top: 40px; + margin-right: -5px; +} + +@media (min-width: 992px) { + .rad-showcase .platform-links { + margin-top: 92px; + margin-right: -10px; + } +} + +.rad-showcase .platform-links [class^="icon-"] { + margin-right: 5px; + font-size: 17px; + color: var(--nord0); +} + +.rad-showcase .platform-links [class^="icon-"]:hover::before { + -webkit-transition-duration: 0.15s; + transition-duration: 0.15s; + -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); + transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); + -webkit-transition-property: -webkit-transform; + transition-property: -webkit-transform; + transition-property: transform; + transition-property: transform, -webkit-transform; + -webkit-transform: scale(1.2); + transform: scale(1.2); +} + +@media (min-width: 992px) { + .rad-showcase .platform-links [class^="icon-"] { + font-size: 19px; + margin-right: 10px; + } +} + +.rad-showcase+section { + margin-top: 0; +} + +@media (min-width: 1200px) { + .footer .navbar-nav .nav-item .nav-link { + padding-left: 20px; + padding-right: 20px; + } + + .rad-showcase { + min-height: 870px; + padding-top: 0; + margin-bottom: 0; + } + + .rad-showcase+section { + margin-top: -125px; + } +} \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/assets/css/rad-icons-codes.css b/themes/adritian-free-hugo-theme/assets/css/rad-icons-codes.css new file mode 100644 index 0000000..6e449f9 --- /dev/null +++ b/themes/adritian-free-hugo-theme/assets/css/rad-icons-codes.css @@ -0,0 +1,17 @@ + +.icon-arrow-right:before { content: '\e800'; } /* '' */ +.icon-behance-line:before { content: '\e801'; } /* '' */ +.icon-dribbble-line:before { content: '\e803'; } /* '' */ +.icon-instagram-line:before { content: '\e806'; } /* '' */ +.icon-linkedin-fill:before { content: '\e807'; } /* '' */ +.icon-profile-fill:before { content: '\e809'; } /* '' */ +.icon-smile-fill:before { content: '\e80a'; } /* '' */ +.icon-twitter-line:before { content: '\e80b'; } /* '' */ +.icon-youtube-line:before { content: '\e80c'; } /* '' */ +.icon-quote:before { content: '\e80d'; } /* '' */ +.icon-mail-fill:before { content: '\e80e'; } /* '' */ +.icon-codepen-line:before { content: '\e80f'; } /* '' */ +.icon-facebook-line:before { content: '\e810'; } /* '' */ +.icon-github-line:before { content: '\e811'; } /* '' */ +.icon-linkedin-line:before { content: '\e812'; } /* '' */ +.icon-yelp-line:before { content: '\e82c'; } /* '' */ \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/assets/css/rad-icons-embedded.css b/themes/adritian-free-hugo-theme/assets/css/rad-icons-embedded.css new file mode 100644 index 0000000..81f3a15 --- /dev/null +++ b/themes/adritian-free-hugo-theme/assets/css/rad-icons-embedded.css @@ -0,0 +1,72 @@ +@font-face { + font-family: 'rad-icons'; + src: url('../font/rad-icons.eot?20326315'); + src: url('../font/rad-icons.eot?20326315#iefix') format('embedded-opentype'), + url('../font/rad-icons.svg?20326315#rad-icons') format('svg'); + font-weight: normal; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: 'rad-icons'; + src: url('data:application/octet-stream;base64,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') format('woff'), + url('data:application/octet-stream;base64,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') format('truetype'); + font-display: swap; +} +/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ +/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ +/* +@media screen and (-webkit-min-device-pixel-ratio:0) { + @font-face { + font-family: 'rad-icons'; + src: url('../font/rad-icons.svg?20326315#rad-icons') format('svg'); + } +} +*/ + + [class^="icon-"]:before, [class*=" icon-"]:before { + font-family: "rad-icons"; + font-style: normal; + font-weight: normal; + speak: none; + + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + /* opacity: .8; */ + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ +} +.icon-arrow-right:before { content: '\e800'; } /* '' */ +.icon-behance-line:before { content: '\e801'; } /* '' */ +.icon-dribbble-line:before { content: '\e803'; } /* '' */ +.icon-instagram-line:before { content: '\e806'; } /* '' */ +.icon-linkedin-fill:before { content: '\e807'; } /* '' */ +.icon-profile-fill:before { content: '\e809'; } /* '' */ +.icon-smile-fill:before { content: '\e80a'; } /* '' */ +.icon-twitter-line:before { content: '\e80b'; } /* '' */ +.icon-youtube-line:before { content: '\e80c'; } /* '' */ +.icon-quote:before { content: '\e80d'; } /* '' */ +.icon-mail-fill:before { content: '\e80e'; } /* '' */ +.icon-codepen-line:before { content: '\e80f'; } /* '' */ +.icon-facebook-line:before { content: '\e810'; } /* '' */ +.icon-github-line:before { content: '\e811'; } /* '' */ +.icon-linkedin-line:before { content: '\e812'; } /* '' */ +.icon-yelp-line:before { content: '\e82c'; } /* '' */ \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/assets/css/rad-icons.css b/themes/adritian-free-hugo-theme/assets/css/rad-icons.css new file mode 100644 index 0000000..d93ce99 --- /dev/null +++ b/themes/adritian-free-hugo-theme/assets/css/rad-icons.css @@ -0,0 +1,66 @@ +/* purgecss start ignore */ +@font-face { + font-family: 'rad-icons'; + src: url('../fonts/rad-icons.eot?32706191'); + src: url('../fonts/rad-icons.eot?32706191#iefix') format('embedded-opentype'), + url('../fonts/rad-icons.woff2?32706191') format('woff2'), + url('../fonts/rad-icons.woff?32706191') format('woff'), + url('../fonts/rad-icons.ttf?32706191') format('truetype'), + url('../fonts/rad-icons.svg?32706191#rad-icons') format('svg'); + font-weight: normal; + font-style: normal; + font-display: swap; +} + + [class^="icon-"]:before, [class*=" icon-"]:before { + font-family: "rad-icons"; + font-style: normal; + font-weight: normal; + speak: none; + + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + /* opacity: .8; */ + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Font smoothing. That was taken from TWBS */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ +} + +.icon-arrow-right:before { content: '\e800'; } /* '' */ +.icon-behance-line:before { content: '\e801'; } /* '' */ +.icon-dribbble-line:before { content: '\e803'; } /* '' */ +.icon-instagram-line:before { content: '\e806'; } /* '' */ +.icon-linkedin-fill:before { content: '\e807'; } /* '' */ +.icon-profile-fill:before { content: '\e809'; } /* '' */ +.icon-smile-fill:before { content: '\e80a'; } /* '' */ +.icon-twitter-line:before { content: '\e80b'; } /* '' */ +.icon-youtube-line:before { content: '\e80c'; } /* '' */ +.icon-quote:before { content: '\e80d'; } /* '' */ +.icon-mail-fill:before { content: '\e80e'; } /* '' */ +.icon-codepen-line:before { content: '\e80f'; } /* '' */ +.icon-facebook-line:before { content: '\e810'; } /* '' */ +.icon-github-line:before { content: '\e811'; } /* '' */ +.icon-linkedin-line:before { content: '\e812'; } /* '' */ +.icon-yelp-line:before { content: '\e82c'; } /* '' */ +/* purgecss stop ignore */ diff --git a/themes/adritian-free-hugo-theme/assets/images/clients/asgardia.png b/themes/adritian-free-hugo-theme/assets/images/clients/asgardia.png new file mode 100644 index 0000000..bb32af3 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/clients/asgardia.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/clients/asgardia@2x.png b/themes/adritian-free-hugo-theme/assets/images/clients/asgardia@2x.png new file mode 100644 index 0000000..619a34e Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/clients/asgardia@2x.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/clients/earth-2.png b/themes/adritian-free-hugo-theme/assets/images/clients/earth-2.png new file mode 100644 index 0000000..eb14a58 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/clients/earth-2.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/clients/earth-2@2x.png b/themes/adritian-free-hugo-theme/assets/images/clients/earth-2@2x.png new file mode 100644 index 0000000..1eda9e2 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/clients/earth-2@2x.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/clients/goldline.png b/themes/adritian-free-hugo-theme/assets/images/clients/goldline.png new file mode 100644 index 0000000..842b830 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/clients/goldline.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/clients/goldline@2x.png b/themes/adritian-free-hugo-theme/assets/images/clients/goldline@2x.png new file mode 100644 index 0000000..236fff4 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/clients/goldline@2x.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/clients/kanba.png b/themes/adritian-free-hugo-theme/assets/images/clients/kanba.png new file mode 100644 index 0000000..6f7523f Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/clients/kanba.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/clients/kanba@2x.png b/themes/adritian-free-hugo-theme/assets/images/clients/kanba@2x.png new file mode 100644 index 0000000..1bfb4dd Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/clients/kanba@2x.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/clients/zoo-tv.png b/themes/adritian-free-hugo-theme/assets/images/clients/zoo-tv.png new file mode 100644 index 0000000..598e05f Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/clients/zoo-tv.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/clients/zoo-tv@2x.png b/themes/adritian-free-hugo-theme/assets/images/clients/zoo-tv@2x.png new file mode 100644 index 0000000..c54cbfa Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/clients/zoo-tv@2x.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/clients/ztos.png b/themes/adritian-free-hugo-theme/assets/images/clients/ztos.png new file mode 100644 index 0000000..0d81bb1 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/clients/ztos.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/clients/ztos@2x.png b/themes/adritian-free-hugo-theme/assets/images/clients/ztos@2x.png new file mode 100644 index 0000000..4bf515d Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/clients/ztos@2x.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/contact-bg.png b/themes/adritian-free-hugo-theme/assets/images/contact-bg.png new file mode 100644 index 0000000..1d89690 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/contact-bg.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/general/design-and-code-radity.png b/themes/adritian-free-hugo-theme/assets/images/general/design-and-code-radity.png new file mode 100644 index 0000000..9f06032 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/general/design-and-code-radity.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/general/design-and-code-radity@2x.png b/themes/adritian-free-hugo-theme/assets/images/general/design-and-code-radity@2x.png new file mode 100644 index 0000000..26e9c74 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/general/design-and-code-radity@2x.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/general/logo-dark.png b/themes/adritian-free-hugo-theme/assets/images/general/logo-dark.png new file mode 100644 index 0000000..702c4e2 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/general/logo-dark.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/general/logo-dark@2x.png b/themes/adritian-free-hugo-theme/assets/images/general/logo-dark@2x.png new file mode 100644 index 0000000..ac6604e Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/general/logo-dark@2x.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/general/mail-fill.svg b/themes/adritian-free-hugo-theme/assets/images/general/mail-fill.svg new file mode 100644 index 0000000..188de88 --- /dev/null +++ b/themes/adritian-free-hugo-theme/assets/images/general/mail-fill.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/themes/adritian-free-hugo-theme/assets/images/general/user-smile-fill.svg b/themes/adritian-free-hugo-theme/assets/images/general/user-smile-fill.svg new file mode 100644 index 0000000..2893f6e --- /dev/null +++ b/themes/adritian-free-hugo-theme/assets/images/general/user-smile-fill.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/themes/adritian-free-hugo-theme/assets/images/showcase/showcase-mobile.jpg b/themes/adritian-free-hugo-theme/assets/images/showcase/showcase-mobile.jpg new file mode 100644 index 0000000..940d5c2 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/showcase/showcase-mobile.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/showcase/showcase.png b/themes/adritian-free-hugo-theme/assets/images/showcase/showcase.png new file mode 100644 index 0000000..536cebd Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/showcase/showcase.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/showcase/showcase@2x.png b/themes/adritian-free-hugo-theme/assets/images/showcase/showcase@2x.png new file mode 100644 index 0000000..32a907b Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/showcase/showcase@2x.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/testimonials/antonio-willis.jpg b/themes/adritian-free-hugo-theme/assets/images/testimonials/antonio-willis.jpg new file mode 100644 index 0000000..2e29c1a Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/testimonials/antonio-willis.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/testimonials/antonio-willis@2x.jpg b/themes/adritian-free-hugo-theme/assets/images/testimonials/antonio-willis@2x.jpg new file mode 100644 index 0000000..4347efa Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/testimonials/antonio-willis@2x.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/testimonials/daniel-jordan.jpg b/themes/adritian-free-hugo-theme/assets/images/testimonials/daniel-jordan.jpg new file mode 100644 index 0000000..97cac28 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/testimonials/daniel-jordan.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/testimonials/daniel-jordan@2x.jpg b/themes/adritian-free-hugo-theme/assets/images/testimonials/daniel-jordan@2x.jpg new file mode 100644 index 0000000..5ad2de7 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/testimonials/daniel-jordan@2x.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/testimonials/jonathan-peters.jpg b/themes/adritian-free-hugo-theme/assets/images/testimonials/jonathan-peters.jpg new file mode 100644 index 0000000..01c1c3a Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/testimonials/jonathan-peters.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/testimonials/jonathan-peters@2x.jpg b/themes/adritian-free-hugo-theme/assets/images/testimonials/jonathan-peters@2x.jpg new file mode 100644 index 0000000..ebb0258 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/testimonials/jonathan-peters@2x.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/who-am-i/user-picture.png b/themes/adritian-free-hugo-theme/assets/images/who-am-i/user-picture.png new file mode 100644 index 0000000..f83b7de Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/who-am-i/user-picture.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/who-am-i/user-picture@2x.png b/themes/adritian-free-hugo-theme/assets/images/who-am-i/user-picture@2x.png new file mode 100644 index 0000000..37e1984 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/who-am-i/user-picture@2x.png differ diff --git a/themes/adritian-free-hugo-theme/assets/images/works/carlos-muza-hpjSkU2UYSU-unsplash.jpg b/themes/adritian-free-hugo-theme/assets/images/works/carlos-muza-hpjSkU2UYSU-unsplash.jpg new file mode 100755 index 0000000..f609e2e Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/works/carlos-muza-hpjSkU2UYSU-unsplash.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/works/radity-finance.jpg b/themes/adritian-free-hugo-theme/assets/images/works/radity-finance.jpg new file mode 100755 index 0000000..a094346 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/works/radity-finance.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/works/radity-finance@2x.jpg b/themes/adritian-free-hugo-theme/assets/images/works/radity-finance@2x.jpg new file mode 100755 index 0000000..fde9626 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/works/radity-finance@2x.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/works/robo-advisor.jpg b/themes/adritian-free-hugo-theme/assets/images/works/robo-advisor.jpg new file mode 100755 index 0000000..f61a654 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/works/robo-advisor.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/works/robo-advisor@2x.jpg b/themes/adritian-free-hugo-theme/assets/images/works/robo-advisor@2x.jpg new file mode 100755 index 0000000..85ccd18 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/works/robo-advisor@2x.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/works/robo-advisorcopy.jpg b/themes/adritian-free-hugo-theme/assets/images/works/robo-advisorcopy.jpg new file mode 100755 index 0000000..f61a654 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/works/robo-advisorcopy.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/works/swissfintech.jpg b/themes/adritian-free-hugo-theme/assets/images/works/swissfintech.jpg new file mode 100755 index 0000000..7e2c244 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/works/swissfintech.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/images/works/swissfintech@2x.jpg b/themes/adritian-free-hugo-theme/assets/images/works/swissfintech@2x.jpg new file mode 100755 index 0000000..287a082 Binary files /dev/null and b/themes/adritian-free-hugo-theme/assets/images/works/swissfintech@2x.jpg differ diff --git a/themes/adritian-free-hugo-theme/assets/js/gtag.js b/themes/adritian-free-hugo-theme/assets/js/gtag.js new file mode 100644 index 0000000..dd6d872 --- /dev/null +++ b/themes/adritian-free-hugo-theme/assets/js/gtag.js @@ -0,0 +1,4 @@ +window.dataLayer = window.dataLayer || []; +function gtag(){dataLayer.push(arguments);} +gtag('js', new Date()); +gtag('config', 'UA-000000-0'); \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/data/config.yml b/themes/adritian-free-hugo-theme/data/config.yml new file mode 100644 index 0000000..e69de29 diff --git a/themes/adritian-free-hugo-theme/data/homepage.yml b/themes/adritian-free-hugo-theme/data/homepage.yml new file mode 100755 index 0000000..57e095d --- /dev/null +++ b/themes/adritian-free-hugo-theme/data/homepage.yml @@ -0,0 +1,242 @@ +# page title +head: + title: "Demo site for Adritian - a high performance hugo theme by Adrián Moreno" + description: "This hugo theme (Adritian) is based on Boostrap and has features that make it suitable for a personal site, a portfolio or other kind of Single Page Applications." +# showcase +showcase: + enable: true + title: "Hello, I’m Cool." + subtitle: "This is my title" + description: > + This is a good place to start with an introduction about yourself. Maybe a mention to the place where you work. You can also mention where you live, your background and what's the purpose of the site.
You can download this theme from github, and see it live as a demo site or a real one.
You can find this content to edit in the theme.yaml file. + image: + x: "images/showcase/showcase.png" + _2x: "images/showcase/showcase@2x.png" + imageMobile: + x: "images/showcase/showcase-mobile.jpg" + + button: + icon: "icon-mail-fill" + btnText: "Contact" + URL: "https://www.adrianmoreno.info/" + + socialLinks: + - icon: "linkedin" + URL: "https://www.linkedin.com/in/adrianmoreno/" + + - icon: "github" + URL: "https://github.com/zetxek" + + - icon: "twitter" + URL: "https://twitter.com/zetxek" + + - icon: "dribbble" + URL: "#" + + - icon: "behance" + URL: "#" + + - icon: "youtube" + URL: "#" + + - icon: "instagram" + URL: "https://www.instagram.com/zetxek/" + + - icon: "facebook" + URL: "https://www.facebook.com/zetxek/" + + - icon: "codepen" + URL: "#" + + - icon: "yelp" + URL: "https://www.yelp.com/" + +# about +about: + enable: true + title: "Who am I?" + content: > +

+ Here you can add some information about you. A small excerpt that describes + your experience, for example. +

+

+ You explain something about your academic/study background, as well as your + preferred areas of work. Think of this area as context-setting for the experience + that you will describe below. Why did you change jobs? What drove you to take a + new gig? Even if you are not looking for a job, it's a good way to hint about + what kind of projects you are interested in. +

+ button: + icon: "icon-smile-fill" + btnText: "About Me" + URL: "https://www.linkedin.com/in/adrianmoreno/" + image: + x: "images/who-am-i/user-picture.png" + _2x: "images/who-am-i/user-picture@2x.png" + +# education +education: + enable: true + title: "Education" + items: + - university: "University of Life" + year: "2012-2017" + degree: "Bachelor of Applied Science (BASc), Electrical Engineering" + + - university: "High School of Hard Knocks" + year: "2009-2012" + degree: "High School Diploma, Sciences, Math, Computer & Business Studies" + +# experience +experience: + enable: true + title: "Experience" + description: > + Over 15+ years of experience working with companies from all over the world. I design & develop digital products to help businesses and improve people's lives. + button: + icon: "icon-linkedin-fill" + btnText: "Linkedin" + URL: "https://www.linkedin.com/in/adrianmoreno/" + button2: + icon: "icon-profile-fill" + btnText: "Download My Resume" + URL: "#" + items: + - title: "Sr. Title" + company: "Serious Business, Inc" + duration: "Feb 2011 - Sep 2019" + + - title: "Sr. Title" + company: "Fancy Company, Inc" + duration: "Apr 2010 - Jan 2011" + + - title: "Jr. Title" + company: "Company, Inc" + duration: "Jun 2009 - Mar 2010" + +# Client & Work +client_and_work: + title: "Clients & Works" + enable: true + + clients: + - logo: + x: "images/clients/asgardia.png" + _2x: "images/clients/asgardia@2x.png" + alt: "Asgardia" + + - logo: + x: "images/clients/earth-2.png" + _2x: "images/clients/earth-2@2x.png" + alt: "Earth 2.0" + + - logo: + x: "images/clients/goldline.png" + _2x: "images/clients/goldline@2x.png" + alt: "Goldline" + + - logo: + x: "images/clients/kanba.png" + _2x: "images/clients/kanba@2x.png" + alt: "Kanba" + + - logo: + x: "images/clients/zoo-tv.png" + _2x: "images/clients/zoo-tv@2x.png" + alt: "Zoo" + + - logo: + x: "images/clients/ztos.png" + _2x: "images/clients/ztos@2x.png" + alt: "Ztos" + + works: + - title: "Radity Finance - UI Kit" + description: "We have been receiving a lot of requests for a Finance Kit recently due to the popularity of Fintech." + button: + icon: "icon-arrow-right" + btnText: "Case Study" + URL: "#" + image: + x: "images/works/radity-finance.jpg" + _2x: "images/works/radity-finance@2x.jpg" + is_even: true + + - title: "Swiss Fintech Website" + description: "The Swiss Finance + Technology Association is the leading FinTech hub in Switzerland." + button: + icon: "icon-arrow-right" + btnText: "Case Study" + URL: "#" + image: + x: "images/works/robo-advisor.jpg" + _2x: "images/works/robo-advisor@2x.jpg" + is_even: false + + - title: "Robo Advisor" + description: "Robo Advisor is a Swiss Wealth Manager and wants to create the best digital experience for its UNHW clients across the world. We started with a whiteboard." + button: + icon: "icon-arrow-right" + btnText: "Case Study" + URL: "#" + image: + x: "images/works/radity-finance.jpg" + _2x: "images/works/radity-finance@2x.jpg" + is_even: true + +# testimonial +testimonial: + enable: true + title: "Testimonials" + items: + - name: "Daniel Jordan" + position: "Phonet, CEO" + content: "Cold calling can be a great way to generate quality leads. You get to speak to the gatekeepers and stakeholders, and you get a great insight into their requirements and influences. But cold calling is an art-form. It can be daunting, it’s always a lot of work, and you always need to make a good impression." + image: + x: "images/testimonials/daniel-jordan.jpg" + _2x: "images/testimonials/daniel-jordan@2x.jpg" + + - name: "Jonathan Peters" + position: "Textic, CEO" + content: "Whether you or your loved one is encountering the natural decrease in mobility that occurs with the passing of time, or deals with an illness-related lack of physical agility, a stair lift can be the ideal way to put you in charge of your home again. Regardless of the shape or make of your living accommodation." + image: + x: "images/testimonials/jonathan-peters.jpg" + _2x: "images/testimonials/jonathan-peters@2x.jpg" + + - name: "Antonio Willis" + position: "Cyberse, CEO" + content: "In this digital generation where information can be easily obtained within seconds, business cards still have retained their importance in the achievement of increased business exposure and business sales. If your business already has a bunch of printed cards distributed to a number of potential customers and yet." + image: + x: "images/testimonials/antonio-willis.jpg" + _2x: "images/testimonials/antonio-willis@2x.jpg" + +# contact +contact: + enable: true + title: "Contact" + form: + action: "#" + full_name: "Full Name" + email: "Email Address" + message: "Type Your Message Here" + phone: + title: "Phone Number" + number: "+555 (11) 123 44 55" + email: + title: "Email" + email: 'mail@example.com' + address: + title: "Address" + address: "Exact street/neighborhood (you can omit this)
Postcode, City" + button: + icon: "icon-mail-fill" + btnText: "Send Message" + +# newsletter +newsletter: + enable: true + title: "Newsletter subscription" + success_message: "Successfully subscribed" + error_message: "Error while subscribing." + note: "We'll never share your email with anyone else." diff --git a/themes/adritian-free-hugo-theme/exampleSite/content/blog/sample.md b/themes/adritian-free-hugo-theme/exampleSite/content/blog/sample.md new file mode 100644 index 0000000..c46be49 --- /dev/null +++ b/themes/adritian-free-hugo-theme/exampleSite/content/blog/sample.md @@ -0,0 +1,14 @@ ++++ +title = 'Sample blog content 1' +date = 2024-06-23T14:38:33+02:00 +draft = false +type = 'blog' ++++ + +Sample blog content. Like a lorem ipsum but saying something more interesting. + +Welcome to the world of "Content Ipsum," the fresh alternative to the classic lorem ipsum. It's the perfect blend for designers and writers who crave a dash of creativity and meaning in their placeholder text. Imagine a text that not only fills the space but also sparks the imagination, a text that weaves tales of innovation, inspiration, and the endless possibilities that creativity brings. + +In the realm of "Content Ipsum," every paragraph is a journey through the wonders of the human mind, a celebration of the achievements that have shaped our world, and a look into the future that awaits us. From the depths of the ocean to the farthest reaches of the universe, "Content Ipsum" takes you on an adventure that captivates and informs. + +So, the next time you're crafting a design or drafting a document, let "Content Ipsum" infuse your work with the spirit of discovery and the joy of creation. It's more than just text; it's a narrative that connects, engages, and inspires. Welcome to the evolution of placeholder text – where every word is a story waiting to be told. \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/exampleSite/data/homepage.yml b/themes/adritian-free-hugo-theme/exampleSite/data/homepage.yml new file mode 100755 index 0000000..b834c15 --- /dev/null +++ b/themes/adritian-free-hugo-theme/exampleSite/data/homepage.yml @@ -0,0 +1,239 @@ +# showcase +showcase: + enable: true + title: "Hello, I’m Cool." + subtitle: "This is my title" + description: > + This is a good place to start with an introduction about yourself. Maybe a mention to the place where you work. You can also mention where you live, your background and what's the purpose of the site.
You can download this theme from github, and see it live as a demo site or a real one.
You can find this content to edit in the theme.yaml file. + image: + x: "images/showcase/showcase.png" + _2x: "images/showcase/showcase@2x.png" + imageMobile: + x: "images/showcase/showcase-mobile.jpg" + + button: + icon: "icon-mail-fill" + btnText: "Contact" + URL: "https://www.adrianmoreno.info/" + + socialLinks: + - icon: "linkedin" + URL: "https://www.linkedin.com/in/adrianmoreno/" + + - icon: "github" + URL: "https://github.com/zetxek" + + - icon: "twitter" + URL: "https://twitter.com/zetxek" + + - icon: "dribbble" + URL: "#" + + - icon: "behance" + URL: "#" + + - icon: "youtube" + URL: "#" + + - icon: "instagram" + URL: "https://www.instagram.com/zetxek/" + + - icon: "facebook" + URL: "https://www.facebook.com/zetxek/" + + - icon: "codepen" + URL: "#" + + - icon: "yelp" + URL: "https://www.yelp.com/" + +# about +about: + enable: true + title: "Who am I?" + content: > +

+ Here you can add some information about you. A small excerpt that describes + your experience, for example. +

+

+ You explain something about your academic/study background, as well as your + preferred areas of work. Think of this area as context-setting for the experience + that you will describe below. Why did you change jobs? What drove you to take a + new gig? Even if you are not looking for a job, it's a good way to hint about + what kind of projects you are interested in. +

+ button: + icon: "icon-smile-fill" + btnText: "About Me" + URL: "https://www.linkedin.com/in/adrianmoreno/" + image: + x: "images/who-am-i/user-picture.png" + _2x: "images/who-am-i/user-picture@2x.png" + +# education +education: + enable: true + title: "Education" + items: + - university: "University of Life" + year: "2012-2017" + degree: "Bachelor of Applied Science (BASc), Electrical Engineering" + + - university: "High School of Hard Knocks" + year: "2009-2012" + degree: "High School Diploma, Sciences, Math, Computer & Business Studies" + +# experience +experience: + enable: true + title: "Experience" + description: > + Over 15+ years of experience working with companies from all over the world. I design & develop digital products to help businesses and improve people's lives. + button: + icon: "icon-linkedin-fill" + btnText: "Linkedin" + URL: "https://www.linkedin.com/in/adrianmoreno/" + button2: + icon: "icon-profile-fill" + btnText: "Download My Resume" + URL: "#" + + items: + - title: "Sr. Title" + company: "Serious Business, Inc" + duration: "Feb 2011 - Sep 2019" + + - title: "Sr. Title" + company: "Fancy Company, Inc" + duration: "Apr 2010 - Jan 2011" + + - title: "Jr. Title" + company: "Company, Inc" + duration: "Jun 2009 - Mar 2010" + +# Client & Work +client_and_work: + title: "Clients & Works" + enable: true + + clients: + - logo: + x: "images/clients/asgardia.png" + _2x: "images/clients/asgardia@2x.png" + alt: "Asgardia" + + - logo: + x: "images/clients/earth-2.png" + _2x: "images/clients/earth-2@2x.png" + alt: "Earth 2.0" + + - logo: + x: "images/clients/goldline.png" + _2x: "images/clients/goldline@2x.png" + alt: "Goldline" + + - logo: + x: "images/clients/kanba.png" + _2x: "images/clients/kanba@2x.png" + alt: "Kanba" + + - logo: + x: "images/clients/zoo-tv.png" + _2x: "images/clients/zoo-tv@2x.png" + alt: "Zoo" + + - logo: + x: "images/clients/ztos.png" + _2x: "images/clients/ztos@2x.png" + alt: "Ztos" + + works: + - title: "Radity Finance - UI Kit" + description: "We have been receiving a lot of requests for a Finance Kit recently due to the popularity of Fintech." + button: + icon: "icon-arrow-right" + btnText: "Case Study" + URL: "#" + image: + x: "images/works/radity-finance.jpg" + _2x: "images/works/radity-finance@2x.jpg" + is_even: true + + - title: "Swiss Fintech Website" + description: "The Swiss Finance + Technology Association is the leading FinTech hub in Switzerland." + button: + icon: "icon-arrow-right" + btnText: "Case Study" + URL: "#" + image: + x: "images/works/swissfintech.jpg" + _2x: "images/works/swissfintech@2x.jpg" + is_even: false + + - title: "Robo Advisor" + description: "Robo Advisor is a Swiss Wealth Manager and wants to create the best digital experience for its UNHW clients across the world. We started with a whiteboard." + button: + icon: "icon-arrow-right" + btnText: "Case Study" + URL: "#" + image: + x: "images/works/robo-advisor.jpg" + _2x: "images/works/robo-advisor@2x.jpg" + is_even: true + +# testimonial +testimonial: + enable: true + title: "Testimonials" + items: + - name: "Daniel Jordan" + position: "Phonet, CEO" + content: "Cold calling can be a great way to generate quality leads. You get to speak to the gatekeepers and stakeholders, and you get a great insight into their requirements and influences. But cold calling is an art-form. It can be daunting, it’s always a lot of work, and you always need to make a good impression." + image: + x: "images/testimonials/daniel-jordan.jpg" + _2x: "images/testimonials/daniel-jordan@2x.jpg" + + - name: "Jonathan Peters" + position: "Textic, CEO" + content: "Whether you or your loved one is encountering the natural decrease in mobility that occurs with the passing of time, or deals with an illness-related lack of physical agility, a stair lift can be the ideal way to put you in charge of your home again. Regardless of the shape or make of your living accommodation." + image: + x: "images/testimonials/jonathan-peters.jpg" + _2x: "images/testimonials/jonathan-peters@2x.jpg" + + - name: "Antonio Willis" + position: "Cyberse, CEO" + content: "In this digital generation where information can be easily obtained within seconds, business cards still have retained their importance in the achievement of increased business exposure and business sales. If your business already has a bunch of printed cards distributed to a number of potential customers and yet." + image: + x: "images/testimonials/antonio-willis.jpg" + _2x: "images/testimonials/antonio-willis@2x.jpg" + +# contact +contact: + enable: true + title: "Contact" + form: + action: "#" + full_name: "Full Name" + email: "Email Address" + message: "Type Your Message Here" + phone: + title: "Phone Number" + number: "+555 (11) 123 44 55" + email: + title: "Email" + email: 'mail@example.com' + address: + title: "Address" + address: "Exact street/neighborhood (you can omit this)
Postcode, City" + button: + icon: "icon-mail-fill" + btnText: "Send Message" + +# newsletter +newsletter: + enable: true + title: "Newsletter subscription" + success_message: "Successfully subscribed" + error_message: "Error while subscribing." + note: "We'll never share your email with anyone else." diff --git a/themes/adritian-free-hugo-theme/exampleSite/hugo.toml b/themes/adritian-free-hugo-theme/exampleSite/hugo.toml new file mode 100755 index 0000000..3123ed4 --- /dev/null +++ b/themes/adritian-free-hugo-theme/exampleSite/hugo.toml @@ -0,0 +1,81 @@ +baseURL = "https://www.adrianmoreno.info" +languageCode = "en-us" +theme = "adritian-free-hugo-theme" + +# Plugins +[params.plugins] + + # CSS Plugins + [[params.plugins.css]] + URL = "css/main.css" + [[params.plugins.css]] + URL = "css/rad-icons.css" + [[params.plugins.css]] + URL = "css/custom.css" + + # JS Plugins + [[params.plugins.js]] + URL = "js/rad-animations.js" + [[params.plugins.js]] + URL = "js/sticky-header.js" + [[params.plugins.js]] + URL = "js/library/fontfaceobserver.js" + + +# navigation +[menu] + + [[menu.header]] + name = "About" + URL = "#about" + weight = 2 + + [[menu.header]] + name = "Portfolio" + URL = "#portfolio" + weight = 3 + + [[menu.header]] + name = "Contact" + URL = "#contact" + weight = 4 + + + [[menu.footer]] + name = "About" + URL = "#about" + weight = 2 + + [[menu.footer]] + name = "Portfolio" + URL = "#portfolio" + weight = 3 + + [[menu.footer]] + name = "Contact" + URL = "#contact" + weight = 4 + + +[params] + + sections = ["showcase", "about", "experience", "education", "client-and-work", "testimonial", "contact", "newsletter"] + + + [params.google_analytics] + code = "UA-XXXXX-Y" + enabled = fale + [params.google_tag_manager] + code = "GTM-XXXXX" + enabled = false + + [params.logo] + text1 = "Cool" + text2 = "Name" + + [params.footer] + copyright = "© Adritian. Free Hugo theme by Adrián Moreno Peña." + [params.footer.radity_logo] + x = "img/general/design-and-code-radity.png" + _2x = "img/general/design-and-code-radity@2x.png" + alt = "Design & Code - Radity" \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/images/screenshot.png b/themes/adritian-free-hugo-theme/images/screenshot.png new file mode 100644 index 0000000..546d171 Binary files /dev/null and b/themes/adritian-free-hugo-theme/images/screenshot.png differ diff --git a/themes/adritian-free-hugo-theme/images/tn.png b/themes/adritian-free-hugo-theme/images/tn.png new file mode 100644 index 0000000..a04b0fa Binary files /dev/null and b/themes/adritian-free-hugo-theme/images/tn.png differ diff --git a/themes/adritian-free-hugo-theme/layouts/404.html b/themes/adritian-free-hugo-theme/layouts/404.html new file mode 100644 index 0000000..8373662 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/404.html @@ -0,0 +1,32 @@ + + + + + + + {{ partial "head.html" . }} + + {{ partial "head_custom.html" . }} + + + + + + {{ partial "header.html" . }} + +
+
+

404

+

Page not found

+

+ Sorry, but the page you were looking for could not be found. +

+ Back to homepage +
+
+ + {{ partial "footer.html" . }} + {{ partial "base-foot.html" . }} + + + \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/_default/list.html b/themes/adritian-free-hugo-theme/layouts/_default/list.html new file mode 100644 index 0000000..8d44320 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/_default/list.html @@ -0,0 +1,28 @@ + + + + + + {{ partial "head.html" . }} {{ partial "head_custom.html" . }} + + + + {{ partial "header.html" . }} + +
+
+

{{ .Title }}

+
    + + {{ range .Pages }} + {{ .Render "li" }} + {{ end }} +
+
+
+ + {{ partial "footer.html" . }} {{ partial "base-foot.html" . }} + + + + \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/_default/single.html b/themes/adritian-free-hugo-theme/layouts/_default/single.html new file mode 100644 index 0000000..89febce --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/_default/single.html @@ -0,0 +1,40 @@ +{{ define "main" }} +
+

{{ .Title }}

+
+
+ {{ .Content }} +
+
+
+ +{{ end }} \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/blog/li.html b/themes/adritian-free-hugo-theme/layouts/blog/li.html new file mode 100644 index 0000000..ff00cf0 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/blog/li.html @@ -0,0 +1,4 @@ +
  • + {{ .LinkTitle }} +
    {{ .Date.Format "Mon, Jan 2, 2006" }}
    +
  • \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/blog/list.html b/themes/adritian-free-hugo-theme/layouts/blog/list.html new file mode 100644 index 0000000..ec66f61 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/blog/list.html @@ -0,0 +1,30 @@ + + + + + + {{ partial "head.html" . }} {{ partial "head_custom.html" . }} + + + + {{ partial "header.html" . }} + +
    +
    +

    {{ .Title }}

    +
    + + {{ range .Pages }} +
    + {{ .Render "summary" }} +
    + {{ end }} +
    +
    +
    + + {{ partial "footer.html" . }} {{ partial "base-foot.html" . }} + + + + \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/blog/single.html b/themes/adritian-free-hugo-theme/layouts/blog/single.html new file mode 100644 index 0000000..1d08b67 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/blog/single.html @@ -0,0 +1,64 @@ + + + + + {{ partial "head.html" . }} {{ partial "head_custom.html" . }} + + + + {{ partial "header.html" . }} + +
    +
    +

    {{ .Title }}

    + + + +
    +
    {{ .Content | safeHTML }}
    +
    + + +
    +
    + + {{ partial "footer.html" . }} {{ partial "base-foot.html" . }} + + + diff --git a/themes/adritian-free-hugo-theme/layouts/blog/summary.html b/themes/adritian-free-hugo-theme/layouts/blog/summary.html new file mode 100644 index 0000000..d1797e4 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/blog/summary.html @@ -0,0 +1,12 @@ +
    +
    +

    {{ .Title }}

    + +
    + + {{ .Summary }} + + +
    \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/experience/list.html b/themes/adritian-free-hugo-theme/layouts/experience/list.html new file mode 100644 index 0000000..432ace1 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/experience/list.html @@ -0,0 +1,18 @@ + + + + + + {{ partial "head.html" . }} {{ partial "head_custom.html" . }} + + + + {{ partial "header.html" . }} + + {{ partial "experience.html" . }} + + {{ partial "footer.html" . }} {{ partial "base-foot.html" . }} + + + + \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/experience/single.html b/themes/adritian-free-hugo-theme/layouts/experience/single.html new file mode 100644 index 0000000..aad01f7 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/experience/single.html @@ -0,0 +1,47 @@ + + + + + {{ partial "head.html" . }} {{ partial "head_custom.html" . }} + + + + {{ partial "header.html" . }} + +
    +
    +
    +
    + {{ $currentPageID := .Page.File.UniqueID }} + {{ range where .Site.RegularPages.ByDate.Reverse "Type" "experience" }} + + + {{ end }} +
    +
    + {{ .Content | safeHTML }} +
    +
    +
    +
    + + {{ partial "footer.html" . }} {{ partial "base-foot.html" . }} + + + diff --git a/themes/adritian-free-hugo-theme/layouts/index.html b/themes/adritian-free-hugo-theme/layouts/index.html new file mode 100644 index 0000000..cb8e2fd --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/index.html @@ -0,0 +1,26 @@ + + + + + + + {{ partial "head.html" . }} + + {{ partial "head_custom.html" . }} + + + + + + {{ partial "header.html" . }} + + {{ range .Site.Params.sections }} + {{ partial . $ }} + {{ end }} + + {{ partial "footer.html" . }} + {{ partial "base-foot.html" . }} + + + + \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/partials/about.html b/themes/adritian-free-hugo-theme/layouts/partials/about.html new file mode 100644 index 0000000..9104674 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/about.html @@ -0,0 +1,40 @@ +{{ if .Site.Data.homepage.about.enable }} +
    +
    +
    +
    + {{ $img := resources.Get .Site.Data.homepage.about.image.x }} + {{ $img2x := resources.Get .Site.Data.homepage.about.image._2x }} + {{ $imgWebp := $img.Resize (printf "%dx%d webp" $img.Width $img.Height) }} + {{ $img2xWebp := $img.Resize (printf "%dx%d webp" $img2x.Width $img2x.Height) }} + + + + Profile Picture of Adrián Moreno (@zetxek), working side by side with a colleague: sitting on a desk, while looking at a screen + +
    +
    +

    {{ .Site.Data.homepage.about.title }}

    + {{ .Site.Data.homepage.about.content | safeHTML }} + + + {{ .Site.Data.homepage.about.button.btnText }} + +
    +
    +
    +
    +{{ end }} diff --git a/themes/adritian-free-hugo-theme/layouts/partials/base-foot.html b/themes/adritian-free-hugo-theme/layouts/partials/base-foot.html new file mode 100644 index 0000000..a6749f4 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/base-foot.html @@ -0,0 +1,18 @@ + + + + + + diff --git a/themes/adritian-free-hugo-theme/layouts/partials/breadcrumb.html b/themes/adritian-free-hugo-theme/layouts/partials/breadcrumb.html new file mode 100644 index 0000000..5803f25 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/breadcrumb.html @@ -0,0 +1,26 @@ + \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/partials/client-and-work.html b/themes/adritian-free-hugo-theme/layouts/partials/client-and-work.html new file mode 100644 index 0000000..2eb4723 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/client-and-work.html @@ -0,0 +1,105 @@ +{{ if .Site.Data.homepage.client_and_work.enable }} +
    +
    +

    + {{ .Site.Data.homepage.client_and_work.title }} +

    + + {{ range $index, $element := .Site.Data.homepage.client_and_work.works }} +
    + {{ if .is_even }} +
    +

    {{ .title }}

    +

    + {{ .description }} +

    + {{ .button.btnText }} +
    +
    + + {{ $img := resources.Get .image.x }} + {{ $img2x := resources.Get .image._2x }} + {{ $imgWebp := $img.Resize (printf "%dx%d webp q75 Lanczos picture" $img.Width $img.Height) }} + {{ $img2xWebp := $img2x.Resize (printf "%dx%d webp q75 Lanczos picture" $img2x.Width $img2x.Height) }} + + + + {{ .title }} + + +
    + {{ else }} +
    + {{ $img := resources.Get .image.x }} + {{ $img2x := resources.Get .image._2x }} + {{ $imgWebp := $img.Resize (printf "%dx%d webp q75 Lanczos picture" $img.Width $img.Height) }} + {{ $img2xWebp := $img2x.Resize (printf "%dx%d webp q75 Lanczos picture" $img2x.Width $img2x.Height) }} + + + + {{ .title }} + +
    +
    +

    {{ .title }}

    +

    + {{ .description }} +

    + {{ .button.btnText }} +
    + {{ end }} +
    + {{ end }} +
    +
    +{{ end }} diff --git a/themes/adritian-free-hugo-theme/layouts/partials/contact.html b/themes/adritian-free-hugo-theme/layouts/partials/contact.html new file mode 100644 index 0000000..fea009c --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/contact.html @@ -0,0 +1,64 @@ +{{ if .Site.Data.homepage.contact.enable }} +
    +
    +
    +

    {{ .Site.Data.homepage.contact.title }}

    +
    + {{ if .Site.Data.homepage.contact.form }} +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +

    {{ .Site.Data.homepage.contact.phone.title }}

    + {{ .Site.Data.homepage.contact.phone.number }} +

    {{ .Site.Data.homepage.contact.email.title }}

    + {{ .Site.Data.homepage.contact.email.email | safeHTML }} +

    {{ .Site.Data.homepage.contact.address.title }}

    + {{ .Site.Data.homepage.contact.address.address | safeHTML }} +
    + {{ else}} +
    +

    {{ .Site.Data.homepage.contact.phone.title }}

    + {{ .Site.Data.homepage.contact.phone.number }} +
    +
    +

    {{ .Site.Data.homepage.contact.email.title }}

    + {{ .Site.Data.homepage.contact.email.email | safeHTML }} +
    +
    +

    {{ .Site.Data.homepage.contact.address.title }}

    + {{ .Site.Data.homepage.contact.address.address | safeHTML }} +
    + + {{ end}} +
    +
    +
    +
    +{{ end }} \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/partials/education.html b/themes/adritian-free-hugo-theme/layouts/partials/education.html new file mode 100644 index 0000000..9d6323e --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/education.html @@ -0,0 +1,24 @@ +{{ if .Site.Data.homepage.education.enable }} +
    +
    +
    +
    +

    {{ .Site.Data.homepage.education.title }}

    +
    + {{ range .Site.Data.homepage.education.items }} +
    +
    +
    {{ .year }}
    +
    {{ .university }}
    +
    + {{ .degree }} +
    +
    +
    + {{ end }} +
    +
    +
    +
    +
    +{{ end }} diff --git a/themes/adritian-free-hugo-theme/layouts/partials/experience-description.html b/themes/adritian-free-hugo-theme/layouts/partials/experience-description.html new file mode 100644 index 0000000..c797009 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/experience-description.html @@ -0,0 +1,34 @@ +
    +
    +

    {{ .Site.Data.homepage.experience.title }}

    + {{ if .Site.Data.homepage.experience.subtitle }} +

    {{ .Site.Data.homepage.experience.subtitle }}

    + {{ end }} +
    {{ .Site.Data.homepage.experience.description | markdownify }}
    +
    + +
    \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/partials/experience.html b/themes/adritian-free-hugo-theme/layouts/partials/experience.html new file mode 100644 index 0000000..92350c9 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/experience.html @@ -0,0 +1,44 @@ +{{ if .Site.Data.homepage.experience.enable }} +
    +
    +
    +
    + {{ $xp := (where .Site.RegularPages.ByDate.Reverse "Type" "experience") }} + {{ $xpCount := len $xp }} + {{/* in the homepage we limit to the homepageExperienceCount param (6 by default) in the inner page + (experience) we display the all */}} + {{ $totalCount := .Site.Params.homepageExperienceCount }} + + {{ if not .IsHome }} + {{ $totalCount = len $xp }} + {{ end }} + {{ range first $totalCount $xp }} + + {{ end }} + {{ if gt $xpCount $totalCount }} +
    + {{ $xpExtra := sub $xpCount $totalCount }} + + + {{ .Site.Data.homepage.experience.button3.btnText }} + +
    + {{ end }} +
    +
    + {{ partial "experience-description.html" . }} +
    +
    +
    +
    +{{ end }} \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/partials/footer.html b/themes/adritian-free-hugo-theme/layouts/partials/footer.html new file mode 100644 index 0000000..ab4f10f --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/footer.html @@ -0,0 +1,21 @@ +
    +
    + + + +
    +
    \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/partials/head.html b/themes/adritian-free-hugo-theme/layouts/partials/head.html new file mode 100644 index 0000000..c0a3124 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/head.html @@ -0,0 +1,64 @@ + + + + + +{{ if .Site.Params.analytics.google_tag_manager.enabled }} + +{{ end }} + +{{ .Site.Data.homepage.head.title }} + + +{{ $critical := resources.Get "css/critical.css" | resources.ToCSS | resources.Minify }} + + +{{ $cssResources := slice }} +{{ range .Site.Params.plugins.css }} + {{ if findRE "^http" .URL }} + + {{ else }} + {{ $cssFile := resources.Get .URL }} + {{ $cssResources = $cssResources | append $cssFile }} + {{ end }} +{{ end }} +{{ $cssBundle := $cssResources | resources.Concat "css/bundle.css" }} + + + +{{ $css := $cssBundle | resources.PostCSS }} +{{ if hugo.IsProduction }} + {{ $css = $css | minify | fingerprint | resources.PostProcess }} +{{ end }} + + + +{{ if .Site.Params.analytics.google_tag_manager.enabled }} + + +{{ $analytics := resources.Get "js/gtag.js" | resources.Minify }} + +{{ else }} + +{{ end }} + + diff --git a/themes/adritian-free-hugo-theme/layouts/partials/head_custom.html b/themes/adritian-free-hugo-theme/layouts/partials/head_custom.html new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/head_custom.html @@ -0,0 +1 @@ + diff --git a/themes/adritian-free-hugo-theme/layouts/partials/header.html b/themes/adritian-free-hugo-theme/layouts/partials/header.html new file mode 100644 index 0000000..b09508a --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/header.html @@ -0,0 +1,54 @@ + +{{ if .Site.Params.analytics.google_tag_manager.enabled }} + + + +{{ end }} + + +{{ if not .IsHome }} +{{ partial "breadcrumb.html" . }} +{{ end }} \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/partials/links.html b/themes/adritian-free-hugo-theme/layouts/partials/links.html new file mode 100644 index 0000000..c093c0f --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/links.html @@ -0,0 +1,16 @@ + \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/partials/newsletter.html b/themes/adritian-free-hugo-theme/layouts/partials/newsletter.html new file mode 100644 index 0000000..0a97c7b --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/newsletter.html @@ -0,0 +1,36 @@ +{{ if .Site.Data.homepage.newsletter.enable }} +
    +
    +
    +
    +

    {{ .Site.Data.homepage.newsletter.title }}

    +
    +
    + + +
    +
    +

    {{ .Site.Data.homepage.newsletter.success_message }}

    +
    +
    +

    {{ .Site.Data.homepage.newsletter.error_message }}

    +
    + +
    + {{ .Site.Data.homepage.newsletter.note }} +
    +
    +
    +
    +{{ end }} diff --git a/themes/adritian-free-hugo-theme/layouts/partials/showcase.html b/themes/adritian-free-hugo-theme/layouts/partials/showcase.html new file mode 100644 index 0000000..eef794b --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/showcase.html @@ -0,0 +1,50 @@ +{{ if .Site.Data.homepage.showcase.enable }} +
    +
    +
    +
    +

    + {{ .Site.Data.homepage.showcase.title | safeHTML }} +
    + {{ .Site.Data.homepage.showcase.subtitle }} +

    +
    + {{ .Site.Data.homepage.showcase.description | markdownify }} +
    + + + {{ .Site.Data.homepage.showcase.button.btnText }} + +
    +
    + + {{ $img := resources.Get .Site.Data.homepage.showcase.image.x }} + {{ $img2x := resources.Get .Site.Data.homepage.showcase.image._2x }} + {{ $imgWebp := $img.Resize (printf "%dx%d webp q75 Lanczos picture" $img.Width $img.Height) }} + {{ $img2xWebp := $img2x.Resize (printf "%dx%d webp q75 Lanczos picture" $img2x.Width $img2x.Height) }} + + + + + + {{ .Site.Data.homepage.showcase.image.alt }} + + +
    +
    + +
    + +
    +{{ end }} \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/layouts/partials/testimonial.html b/themes/adritian-free-hugo-theme/layouts/partials/testimonial.html new file mode 100644 index 0000000..5290319 --- /dev/null +++ b/themes/adritian-free-hugo-theme/layouts/partials/testimonial.html @@ -0,0 +1,44 @@ +{{ if .Site.Data.homepage.testimonial.enable }} +
    +
    +

    {{ .Site.Data.homepage.testimonial.title }}

    +
    + {{ range .Site.Data.homepage.testimonial.items }} +
    + +

    + {{ .content }} +

    +
    + {{ $img := resources.Get .image.x }} + {{ $img2x := resources.Get .image._2x }} + {{ $imgWebp := $img.Resize (printf "%dx%d webp q75 Lanczos picture" $img.Width $img.Height) }} + {{ $img2xWebp := $img2x.Resize (printf "%dx%d webp q75 Lanczos picture" $img2x.Width $img2x.Height) }} + + + + + + {{ .name }} + + +
    +

    {{ .name }}

    + {{ .position }} +
    +
    +
    + {{ end }} +
    +
    +
    +{{ end }} diff --git a/themes/adritian-free-hugo-theme/resources/_gen/assets/css/css/style.css_d3f53f09220d597dac26fe7840c31fc9.content b/themes/adritian-free-hugo-theme/resources/_gen/assets/css/css/style.css_d3f53f09220d597dac26fe7840c31fc9.content new file mode 100644 index 0000000..3bc70c5 --- /dev/null +++ b/themes/adritian-free-hugo-theme/resources/_gen/assets/css/css/style.css_d3f53f09220d597dac26fe7840c31fc9.content @@ -0,0 +1,5 @@ +/*!------------------------------------------------------------------ +[MAIN STYLESHEET] +PROJECT: Project Name +VERSION: Versoin Number +-------------------------------------------------------------------*/@import "https://fonts.googleapis.com/css?family=Playfair+Display:400,700|Roboto:300,400,500,700";@font-face{font-family:bwnistaint-xbd;src:url(../fonts/BwNistaInt-xBd.woff) format("woff");font-style:normal;font-display:swap}body{line-height:1.2;font-family:roboto,sans-serif;-webkit-font-smoothing:antialiased;font-size:15px;color:#4c4c4c}p{font-weight:400;color:#4c4c4c;font-size:15px;line-height:1.8;font-family:roboto,sans-serif}h1,h2,h3,h4,h5,h6{color:#000;font-family:playfair display,serif;line-height:1.2}h1,.h1{font-size:80px}@media(max-width:991px){h1,.h1{font-size:65px}}h2,.h2{font-size:60px}@media(max-width:991px){h2,.h2{font-size:50px}}h3,.h3{font-size:40px}h4,.h4{font-size:22px}h5,.h5{font-size:18px}h6,.h6{font-size:14px}.btn{font-size:22px;font-family:playfair display,serif;text-transform:capitalize;padding:16px 44px;border-radius:5px;font-weight:600;border:0;position:relative;z-index:1;transition:.2s ease}.btn:focus{outline:0;box-shadow:none!important}.btn:active{box-shadow:none}.btn-sm{font-size:15px;padding:10px 30px}.btn-xs{padding:5px 10px;font-size:15px}.btn-primary{background:#41228e;color:#fff}.btn-primary:active{background:#542cb7!important}.btn-primary:hover{background:#542cb7}.btn-primary.focus,.btn-primary.active{background:#542cb7!important;box-shadow:none!important}.btn-transparent{background:transparent;color:#41228e;font-weight:700}.btn-transparent:active,.btn-transparent:hover{color:#41228e}body{background-color:#fff;overflow-x:hidden}::selection{background:#542cb7;color:#fff}.preloader{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#fff;z-index:999;display:flex;align-items:center;justify-content:center}ol,ul{list-style-type:none;margin:0}img{vertical-align:middle;border:0}a,a:hover,a:focus{text-decoration:none}a,button,select{cursor:pointer;transition:.2s ease}a:focus,button:focus,select:focus{outline:0}a.text-dark:hover{color:#41228e!important}a:hover{color:#41228e}.slick-slide{outline:0}.section{padding-top:80px;padding-bottom:80px}.section-title{margin-bottom:80px;font-family:bwnistaint-xbd}.bg-cover{background-size:cover;background-position:50%;background-repeat:no-repeat}.overlay{position:relative}.overlay::before{position:absolute;content:'';height:100%;width:100%;top:0;left:0;background:#000;opacity:.5}.outline-0{outline:0!important}.d-unset{display:unset!important}.bg-primary{background:#41228e!important}.bg-gray{background:#eaeaea!important}.text-primary{color:#41228e!important}.text-color{color:#4c4c4c}.text-dark{color:#000!important}.text-light{color:#999!important}.mb-10{margin-bottom:10px!important}.mb-20{margin-bottom:20px!important}.mb-30{margin-bottom:30px!important}.mb-40{margin-bottom:40px!important}.mb-50{margin-bottom:50px!important}.mb-60{margin-bottom:60px!important}.mb-70{margin-bottom:70px!important}.mb-80{margin-bottom:80px!important}.mb-90{margin-bottom:90px!important}.mb-100{margin-bottom:100px!important}.zindex-1{z-index:1}.rounded-lg{border-radius:15px}.overflow-hidden{overflow:hidden}.font-secondary{font-family:playfair display,serif!important}.font-tertiary{font-family:bwnistaint-xbd!important}.shadow{box-shadow:0 18px 39.1px 6.9px rgba(224,241,255,.34)!important}.bg-dark{background-color:#222!important}.icon{font-size:45px}.icon-bg{height:100px;width:100px;line-height:100px;text-align:center}.icon-light{color:#c8d5ef}.slick-dots{text-align:center;padding-left:0}.slick-dots li{display:inline-block;margin:2px}.slick-dots li.slick-active button{background:#fff;width:25px}.slick-dots li button{height:6px;width:12px;background:rgba(255,255,255,.5);color:transparent;border-radius:10px;overflow:hidden;transition:.2s ease;border:0}.form-control{border:0;border-radius:0;border-bottom:1px solid #c7c7c7;height:60px}.form-control:focus{border-color:#41228e;outline:0;box-shadow:none!important}textarea.form-control{height:120px}.card{border:0}.card-header{border:0}.card-footer{border:0}.navigation{padding:40px 130px;transition:.3s ease}.navigation.nav-bg{background-color:#41228e;padding:15px 100px}@media(max-width:991px){.navigation.nav-bg{padding:15px 20px}}@media(max-width:991px){.navigation{padding:20px;background:#41228e}}.navbar .nav-item .nav-link{font-family:bwnistaint-xbd;text-transform:uppercase;padding:15px}.navbar .nav-item.active{font-weight:700}.navbar-dark .navbar-nav .nav-link{color:#fff}.hero-area{padding:250px 0 200px;position:relative}@media(max-width:767px){.hero-area{padding:200px 0 150px;overflow:hidden}}.hero-area h1{position:relative;z-index:2}.layer{position:absolute;z-index:1}#l1{bottom:0;left:0}#l2{top:190px;left:-250px}#l3{top:200px;left:40%}#l4{top:200px;right:40%}#l5{top:100px;right:-150px}#l6{bottom:-20px;left:10%}#l7{bottom:100px;left:20%}#l8{bottom:160px;right:45%}#l9{bottom:100px;right:-10px}.layer-bg{position:absolute;bottom:0;left:0}.progress-wrapper{height:130px;overflow:hidden}.wave{position:absolute;width:100%;height:100%}.wave::before,.wave::after{content:"";position:absolute;width:800px;height:800px;bottom:0;left:50%;background-color:rgba(255,255,255,.4);border-radius:45%;transform:translateX(-50%) rotate(0);animation:rotate 6s linear infinite;z-index:10}.wave::after{border-radius:47%;background-color:rgba(255,255,255,.9);transform:translateX(-50%) rotate(0);animation:rotate 10s linear -5s infinite;z-index:20}@keyframes rotate{50%{transform:translateX(-50%) rotate(180deg)}100%{transform:translateX(-50%) rotate(360deg)}}.edu-bg-image{position:absolute;left:0;top:-300px;z-index:-1}.hover-bg-primary{transition:.3s ease}.hover-bg-primary:hover{background:#41228e}.hover-bg-primary:hover *{color:#fff}.active-bg-primary{transition:.3s ease;background:#41228e}.active-bg-primary *{color:#fff}.hover-shadow{transition:.2s ease}.hover-shadow:hover{box-shadow:0 18px 40px 8px rgba(224,241,255,.54)!important}.hover-wrapper{overflow:hidden}.hover-wrapper img{transition:.3s ease;transform:scale(1.1)}.hover-wrapper:hover img{transform:scale(1)}.hover-wrapper:hover .hover-overlay{opacity:1;visibility:visible}.hover-overlay{position:absolute;height:100%;width:100%;border-radius:inherit;top:0;left:0;background:rgba(0,0,0,.3);opacity:0;visibility:hidden;transition:.3s ease}.hover-content{position:absolute;top:50%;transform:translateY(-50%);left:0;right:0;text-align:center}.testimonial-content strong{color:#2bfdff;font-weight:400}.testimonial-bg-shapes .container{position:relative;z-index:1}.testimonial-bg-shapes .bg-map{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.testimonial-bg-shapes .bg-shape-1{position:absolute;left:100px;top:-50px}.testimonial-bg-shapes .bg-shape-2{position:absolute;right:150px;top:50px}.testimonial-bg-shapes .bg-shape-3{position:absolute;right:50px;top:200px}.testimonial-bg-shapes .bg-shape-4{position:absolute;left:100px;bottom:200px}.testimonial-bg-shapes .bg-shape-5{position:absolute;right:200px;bottom:-50px}.footer-section{padding-top:200px}.section-on-footer{margin-bottom:-250px}.shadow-down{position:relative}.shadow-down::before{position:absolute;content:"";box-shadow:0 0 80.75px 14.25px rgba(224,241,255,.34);height:100%;width:100%;left:0;top:0;z-index:-1}.card-lg{flex-direction:row-reverse;align-items:center}@media(max-width:991px){.card-lg{flex-direction:column}}blockquote{display:inline-block;padding:10px 20px;background:#eaeaea;border-left:2px solid #41228e;font-style:italic;font-size:22px}.content *{margin-bottom:20px}.content strong{font-family:playfair display,serif;font-size:22px;font-weight:400;color:#000;display:inherit;line-height:1.5}.page-title-alt{padding:350px 0 70px}.border-thick{border:10px solid}.drag-lg-top{margin-top:-230px}@media(max-width:991px){.drag-lg-top{margin-top:0}}.page-title-alt .container{position:relative;z-index:1}.page-title-alt .bg-shape-1{position:absolute;left:0;top:0;height:100%}.page-title-alt .bg-shape-2{position:absolute;left:70px;top:100px}.page-title-alt .bg-shape-3{position:absolute;left:30%;top:50px;transform:rotate(180deg)}.page-title-alt .bg-shape-4{position:absolute;left:100px;bottom:100px}.page-title-alt .bg-shape-5{position:absolute;left:40%;bottom:-25px}.page-title-alt .bg-shape-6{position:absolute;bottom:100px;right:-100px}.page-title{padding:250px 0 150px}.page-title .container{position:relative;z-index:1}.page-title .bg-shape-1{position:absolute;left:0;bottom:0;width:100%}.page-title .bg-shape-2{position:absolute;left:-20px;top:-10px}.page-title .bg-shape-3{position:absolute;left:10%;top:100px}.page-title .bg-shape-4{position:absolute;left:50%;top:-20px}.page-title .bg-shape-5{position:absolute;left:90px;bottom:-50px;transform:rotate(180deg)}.page-title .bg-shape-6{position:absolute;right:20%;bottom:-20px}.page-title .bg-shape-7{position:absolute;right:-220px;bottom:-100px}.filter-controls li{cursor:pointer}.filter-controls li.active{font-weight:700} \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/resources/_gen/assets/css/css/style.css_d3f53f09220d597dac26fe7840c31fc9.json b/themes/adritian-free-hugo-theme/resources/_gen/assets/css/css/style.css_d3f53f09220d597dac26fe7840c31fc9.json new file mode 100644 index 0000000..0095485 --- /dev/null +++ b/themes/adritian-free-hugo-theme/resources/_gen/assets/css/css/style.css_d3f53f09220d597dac26fe7840c31fc9.json @@ -0,0 +1 @@ +{"Target":"css/style.min.css","MediaType":"text/css","Data":{}} \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/resources/_gen/assets/js/js/script.js_d3f53f09220d597dac26fe7840c31fc9.content b/themes/adritian-free-hugo-theme/resources/_gen/assets/js/js/script.js_d3f53f09220d597dac26fe7840c31fc9.content new file mode 100644 index 0000000..083aa48 --- /dev/null +++ b/themes/adritian-free-hugo-theme/resources/_gen/assets/js/js/script.js_d3f53f09220d597dac26fe7840c31fc9.content @@ -0,0 +1,3 @@ +(function($){'use strict';$(window).on('load',function(){$('.preloader').fadeOut(100);});$(window).scroll(function(){if($('.navigation').offset().top>100){$('.navigation').addClass('nav-bg');}else{$('.navigation').removeClass('nav-bg');}});$('[data-background]').each(function(){$(this).css({'background-image':'url('+$(this).data('background')+')'});});$('[data-color]').each(function(){$(this).css({'background-color':$(this).data('color')});});$('[data-progress]').each(function(){$(this).css({'bottom':$(this).data('progress')});});window.onload=function(){var parallaxBox=document.getElementById('parallax');var +c2left=document.getElementById('l2').offsetLeft,c2top=document.getElementById('l2').offsetTop,c3left=document.getElementById('l3').offsetLeft,c3top=document.getElementById('l3').offsetTop,c4left=document.getElementById('l4').offsetLeft,c4top=document.getElementById('l4').offsetTop,c5left=document.getElementById('l5').offsetLeft,c5top=document.getElementById('l5').offsetTop,c6left=document.getElementById('l6').offsetLeft,c6top=document.getElementById('l6').offsetTop,c7left=document.getElementById('l7').offsetLeft,c7top=document.getElementById('l7').offsetTop,c8left=document.getElementById('l8').offsetLeft,c8top=document.getElementById('l8').offsetTop,c9left=document.getElementById('l9').offsetLeft,c9top=document.getElementById('l9').offsetTop;parallaxBox.onmousemove=function(event){event=event||window.event;var x=event.clientX-parallaxBox.offsetLeft,y=event.clientY-parallaxBox.offsetTop;mouseParallax('l2',c2left,c2top,x,y,25);mouseParallax('l3',c3left,c3top,x,y,20);mouseParallax('l4',c4left,c4top,x,y,35);mouseParallax('l5',c5left,c5top,x,y,30);mouseParallax('l6',c6left,c6top,x,y,45);mouseParallax('l7',c7left,c7top,x,y,30);mouseParallax('l8',c8left,c8top,x,y,25);mouseParallax('l9',c9left,c9top,x,y,40);};};function mouseParallax(id,left,top,mouseX,mouseY,speed){var obj=document.getElementById(id);var parentObj=obj.parentNode,containerWidth=parseInt(parentObj.offsetWidth),containerHeight=parseInt(parentObj.offsetHeight);obj.style.left=left-(((mouseX-(parseInt(obj.offsetWidth)/2+left))/containerWidth)*speed)+'px';obj.style.top=top-(((mouseY-(parseInt(obj.offsetHeight)/2+top))/containerHeight)*speed)+'px';} +$('.testimonial-slider').slick({dots:true,infinite:true,speed:300,slidesToShow:1,arrows:false,adaptiveHeight:true});$('.client-logo-slider').slick({infinite:true,slidesToShow:5,slidesToScroll:1,autoplay:true,dots:false,arrows:false,responsive:[{breakpoint:1024,settings:{slidesToShow:3,slidesToScroll:1}},{breakpoint:600,settings:{slidesToShow:3,slidesToScroll:1}},{breakpoint:480,settings:{slidesToShow:2,slidesToScroll:1}},{breakpoint:400,settings:{slidesToShow:1,slidesToScroll:1}}]});var containerEl=document.querySelector('.shuffle-wrapper');if(containerEl){var Shuffle=window.Shuffle;var myShuffle=new Shuffle(document.querySelector('.shuffle-wrapper'),{itemSelector:'.shuffle-item',buffer:1});jQuery('input[name="shuffle-filter"]').on('change',function(evt){var input=evt.currentTarget;if(input.checked){myShuffle.filter(input.value);}});}})(jQuery); \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/resources/_gen/assets/js/js/script.js_d3f53f09220d597dac26fe7840c31fc9.json b/themes/adritian-free-hugo-theme/resources/_gen/assets/js/js/script.js_d3f53f09220d597dac26fe7840c31fc9.json new file mode 100644 index 0000000..938e4f4 --- /dev/null +++ b/themes/adritian-free-hugo-theme/resources/_gen/assets/js/js/script.js_d3f53f09220d597dac26fe7840c31fc9.json @@ -0,0 +1 @@ +{"Target":"js/script.min.js","MediaType":"application/javascript","Data":{}} \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/static/.htaccess b/themes/adritian-free-hugo-theme/static/.htaccess new file mode 100755 index 0000000..58eeb9f --- /dev/null +++ b/themes/adritian-free-hugo-theme/static/.htaccess @@ -0,0 +1,16 @@ + +AddOutputFilterByType DEFLATE text/plain +AddOutputFilterByType DEFLATE text/html +AddOutputFilterByType DEFLATE text/xml +AddOutputFilterByType DEFLATE text/css +AddOutputFilterByType DEFLATE application/xml +AddOutputFilterByType DEFLATE application/xhtml+xml +AddOutputFilterByType DEFLATE application/rss+xml +AddOutputFilterByType DEFLATE application/javascript +AddOutputFilterByType DEFLATE application/x-javascript +AddOutputFilterByType DEFLATE image/jpg +AddOutputFilterByType DEFLATE image/png +AddOutputFilterByType DEFLATE image/gif +AddOutputFilterByType DEFLATE image/jpeg +AddOutputFilterByType DEFLATE image/svg+xml + \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/static/fonts/autumn-moon/AutumnMoon.otf b/themes/adritian-free-hugo-theme/static/fonts/autumn-moon/AutumnMoon.otf new file mode 100644 index 0000000..79b4c6d Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/autumn-moon/AutumnMoon.otf differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/autumn-moon/AutumnMoon.ttf b/themes/adritian-free-hugo-theme/static/fonts/autumn-moon/AutumnMoon.ttf new file mode 100644 index 0000000..2368255 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/autumn-moon/AutumnMoon.ttf differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/autumn-moon/AutumnMoon.woff b/themes/adritian-free-hugo-theme/static/fonts/autumn-moon/AutumnMoon.woff new file mode 100644 index 0000000..8bd1005 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/autumn-moon/AutumnMoon.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/autumn-moon/AutumnMoon.woff2 b/themes/adritian-free-hugo-theme/static/fonts/autumn-moon/AutumnMoon.woff2 new file mode 100644 index 0000000..8ac8258 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/autumn-moon/AutumnMoon.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/config.json b/themes/adritian-free-hugo-theme/static/fonts/config.json new file mode 100644 index 0000000..c51ca44 --- /dev/null +++ b/themes/adritian-free-hugo-theme/static/fonts/config.json @@ -0,0 +1,234 @@ +{ + "name": "rad-icons", + "css_prefix_text": "icon-", + "css_use_suffix": false, + "hinting": true, + "units_per_em": 1000, + "ascent": 850, + "glyphs": [ + { + "uid": "ee40dd0a8dcd95ecd9f4913c697b8d28", + "css": "linkedin-line", + "code": 59410, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M490.9 381.8C527.3 345.5 577.3 318.2 631.8 318.2 754.5 318.2 850 418.2 850 536.4V836.4H772.7V536.4C772.7 459.1 709.1 395.5 631.8 395.5S490.9 459.1 490.9 536.4V836.4H409.1V336.4H490.9V381.8ZM209.1 263.6C177.3 263.6 150 236.4 150 204.5S177.3 145.5 209.1 145.5 268.2 172.7 268.2 204.5 240.9 263.6 209.1 263.6L209.1 263.6ZM168.2 340.9H250V840.9H168.2V340.9Z", + "width": 1000 + }, + "search": [ + "linkedin-line" + ] + }, + { + "uid": "12ce787270cfe350aa0958de82654e09", + "css": "github-line", + "code": 59409, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M263.6 763.6C250 754.5 240.9 745.5 227.3 731.8 222.7 722.7 213.6 713.6 209.1 709.1 190.9 686.4 177.3 672.7 163.6 668.2 140.9 659.1 131.8 636.4 136.4 613.6 145.5 590.9 168.2 581.8 190.9 586.4 222.7 595.5 245.5 618.2 272.7 654.5 268.2 650 286.4 672.7 290.9 677.3 300 686.4 304.5 690.9 309.1 695.5 318.2 700 331.8 704.5 359.1 700 359.1 686.4 363.6 668.2 368.2 654.5 240.9 627.3 172.7 545.5 172.7 390.9 172.7 340.9 186.4 295.5 218.2 254.5 209.1 213.6 209.1 168.2 227.3 118.2 231.8 104.5 240.9 95.5 254.5 95.5 259.1 95.5 259.1 95.5 263.6 95.5 295.5 90.9 345.5 104.5 404.5 140.9 440.9 131.8 477.3 127.3 518.2 127.3 554.5 127.3 595.5 131.8 631.8 140.9 695.5 100 740.9 90.9 772.7 95.5 777.3 95.5 777.3 95.5 781.8 95.5 795.5 100 804.5 109.1 809.1 118.2 827.3 168.2 831.8 213.6 822.7 250 850 290.9 868.2 336.4 868.2 386.4 868.2 540.9 800 622.7 672.7 654.5 677.3 672.7 681.8 690.9 681.8 713.6 681.8 750 681.8 790.9 681.8 827.3 704.5 831.8 718.2 854.5 713.6 877.3 709.1 895.5 695.5 904.5 681.8 909.1 636.4 918.2 600 886.4 600 845.5L600 827.3 600 800C600 772.7 600 745.5 600 718.2 600 690.9 590.9 668.2 581.8 663.6 563.6 650 563.6 622.7 577.3 604.5 586.4 595.5 595.5 590.9 604.5 590.9 727.3 577.3 786.4 527.3 786.4 395.5 786.4 354.5 772.7 322.7 750 295.5 740.9 281.8 736.4 268.2 740.9 250 750 231.8 750 209.1 745.5 181.8L745.5 181.8C727.3 186.4 700 200 668.2 222.7 650 222.7 636.4 227.3 627.3 222.7 590.9 213.6 554.5 209.1 518.2 209.1 481.8 209.1 445.5 213.6 409.1 222.7 400 227.3 386.4 222.7 377.3 218.2 345.5 195.5 318.2 181.8 295.5 177.3 290.9 204.5 295.5 227.3 300 245.5 304.5 259.1 304.5 277.3 290.9 290.9 268.2 313.6 254.5 350 254.5 390.9 254.5 522.7 313.6 572.7 436.4 586.4 459.1 590.9 477.3 609.1 472.7 631.8 472.7 640.9 468.2 650 459.1 659.1 450 668.2 440.9 690.9 440.9 718.2V850C440.9 890.9 404.5 922.7 359.1 913.6 336.4 909.1 322.7 886.4 327.3 863.6 331.8 845.5 340.9 831.8 359.1 831.8V790.9C318.2 786.4 286.4 781.8 263.6 763.6L263.6 763.6Z", + "width": 1000 + }, + "search": [ + "github-line" + ] + }, + { + "uid": "da5bcab36ea7b71c608dd99e7690bc9d", + "css": "facebook-line", + "code": 59408, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M518.2 436.4H704.5L681.8 518.2H513.6V895.5H436.4V518.2H268.2V436.4H436.4V359.1C436.4 286.4 445.5 259.1 459.1 231.8 472.7 204.5 495.5 181.8 522.7 168.2 550 154.5 577.3 145.5 650 145.5 672.7 145.5 690.9 145.5 709.1 150V227.3H650C595.5 227.3 577.3 231.8 559.1 240.9 545.5 245.5 536.4 259.1 531.8 268.2 522.7 286.4 518.2 304.5 518.2 359.1V436.4Z", + "width": 1000 + }, + "search": [ + "facebook-line" + ] + }, + { + "uid": "3c0183b9a93d5c916b99950a14a507e7", + "css": "codepen-line", + "code": 59407, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M686.4 550L540.9 645.5V790.9L795.5 622.7 686.4 550ZM609.1 500L500 427.3 390.9 500 500 572.7 609.1 500ZM827.3 454.5L759.1 500 827.3 545.5V454.5ZM795.5 377.3L540.9 209.1V354.5L686.4 450 795.5 377.3ZM313.6 450L459.1 354.5V209.1L204.5 377.3 313.6 450ZM204.5 622.7L459.1 790.9V645.5L313.6 550C313.6 550 204.5 622.7 204.5 622.7ZM172.7 545.5L240.9 500 172.7 454.5V545.5ZM90.9 377.3C90.9 363.6 100 350 109.1 345.5L477.3 100C490.9 90.9 509.1 90.9 522.7 100L890.9 345.5C900 350 909.1 363.6 909.1 377.3V622.7C909.1 636.4 900 650 890.9 654.5L522.7 900C509.1 909.1 490.9 909.1 477.3 900L109.1 654.5C100 650 90.9 636.4 90.9 622.7V377.3Z", + "width": 1000 + }, + "search": [ + "codepen-line" + ] + }, + { + "uid": "c5373c46a94dea270c5d5e5a2a91e4d2", + "css": "mail-fill", + "code": 59406, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M90.9 90.9H900C922.7 90.9 950 109.1 950 140.9V863.6C950 886.4 931.8 913.6 900 913.6H90.9C68.2 909.1 45.5 890.9 45.5 859.1V131.8C45.5 109.1 63.6 90.9 90.9 90.9ZM495.5 481.8L204.5 236.4 145.5 300 495.5 595.5 836.4 300 777.3 231.8 495.5 481.8 495.5 481.8 495.5 481.8Z", + "width": 1000 + }, + "search": [ + "mail-fill" + ] + }, + { + "uid": "478a071e885b346a4c702ff2ffe3029d", + "css": "quote", + "code": 59405, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M218.2 868.2C104.5 868.2 9.1 781.8 9.1 631.8 9.1 413.6 118.2 250 204.5 145.5 213.6 136.4 227.3 131.8 236.4 131.8H281.8C300 131.8 309.1 145.5 300 159.1 254.5 254.5 218.2 350 218.2 472.7 331.8 472.7 422.7 559.1 422.7 668.2S336.4 868.2 218.2 868.2ZM786.4 868.2C672.7 868.2 577.3 781.8 577.3 631.8 577.3 413.6 686.4 250 772.7 145.5 781.8 136.4 790.9 131.8 804.5 131.8H850C868.2 131.8 877.3 145.5 868.2 159.1 822.7 254.5 786.4 350 786.4 472.7 900 472.7 990.9 559.1 990.9 668.2S900 868.2 786.4 868.2Z", + "width": 1000 + }, + "search": [ + "quote" + ] + }, + { + "uid": "ef2510404ab8f8689ca2099e29511135", + "css": "youtube-line", + "code": 59404, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M886.4 245.5C881.8 231.8 872.7 218.2 859.1 213.6 836.4 209.1 727.3 195.5 500 195.5S163.6 209.1 140.9 218.2C131.8 218.2 118.2 231.8 113.6 245.5 109.1 268.2 95.5 359.1 95.5 500S109.1 731.8 113.6 754.5C118.2 768.2 127.3 781.8 140.9 786.4 163.6 790.9 272.7 809.1 500 809.1S836.4 795.5 859.1 790.9C872.7 786.4 881.8 777.3 886.4 759.1 890.9 736.4 904.5 645.5 904.5 504.5S890.9 268.2 886.4 245.5L886.4 245.5ZM963.6 231.8C981.8 318.2 981.8 500 981.8 500S981.8 681.8 959.1 768.2C945.5 813.6 909.1 854.5 863.6 868.2 781.8 890.9 495.5 890.9 495.5 890.9S209.1 890.9 127.3 868.2C81.8 854.5 45.5 818.2 31.8 768.2 13.6 681.8 13.6 500 13.6 500S13.6 318.2 36.4 231.8C50 186.4 86.4 145.5 131.8 131.8 213.6 113.6 500 113.6 500 113.6S786.4 113.6 868.2 136.4C913.6 150 950 186.4 963.6 231.8ZM409.1 663.6V336.4L690.9 500 409.1 663.6 409.1 663.6Z", + "width": 1000 + }, + "search": [ + "youtube-line" + ] + }, + { + "uid": "4cbc1bb802110f04581dfcb17c681b70", + "css": "twitter-line", + "code": 59403, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M672.7 213.6C600 213.6 545.5 272.7 545.5 340.9L545.5 409.1C545.5 422.7 531.8 436.4 518.2 436.4 518.2 436.4 518.2 436.4 513.6 436.4L440.9 427.3C350 413.6 263.6 372.7 181.8 304.5 154.5 450 209.1 554.5 331.8 631.8L409.1 677.3C422.7 686.4 427.3 700 418.2 713.6 418.2 718.2 413.6 718.2 413.6 722.7L340.9 772.7C381.8 777.3 422.7 772.7 454.5 768.2 663.6 727.3 804.5 568.2 804.5 309.1 800 290.9 759.1 213.6 672.7 213.6ZM454.5 340.9C454.5 222.7 554.5 127.3 677.3 127.3 731.8 127.3 786.4 150 827.3 190.9 859.1 190.9 886.4 200 945.5 163.6 931.8 236.4 922.7 268.2 890.9 309.1 890.9 650 681.8 813.6 472.7 854.5 327.3 881.8 118.2 836.4 59.1 772.7 90.9 768.2 213.6 759.1 286.4 704.5 227.3 663.6-18.2 522.7 140.9 136.4 218.2 222.7 290.9 281.8 368.2 313.6 418.2 336.4 431.8 336.4 454.5 340.9L454.5 340.9Z", + "width": 1000 + }, + "search": [ + "twitter-line" + ] + }, + { + "uid": "9780efb6a4760136c5b4105bc4bcf457", + "css": "smile-fill", + "code": 59402, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M500 909.1C272.7 909.1 90.9 727.3 90.9 500S272.7 90.9 500 90.9 909.1 272.7 909.1 500 727.3 909.1 500 909.1ZM295.5 500C295.5 613.6 386.4 704.5 500 704.5S704.5 613.6 704.5 500H622.7C622.7 568.2 568.2 622.7 500 622.7S377.3 568.2 377.3 500H295.5Z", + "width": 1000 + }, + "search": [ + "smile-fill" + ] + }, + { + "uid": "6453234c88f0eb299ae9f4fd79c19208", + "css": "linkedin-fill", + "code": 59399, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M786.4 786.4H663.6V595.5C663.6 550 663.6 490.9 600 490.9 536.4 490.9 527.3 540.9 527.3 590.9V781.8H409.1V400H527.3V454.5H527.3C545.5 422.7 581.8 390.9 640.9 390.9 763.6 390.9 786.4 472.7 786.4 577.3L786.4 786.4 786.4 786.4ZM272.7 345.5C231.8 345.5 204.5 313.6 204.5 272.7 204.5 272.7 204.5 272.7 204.5 272.7 204.5 231.8 236.4 204.5 272.7 204.5S345.5 236.4 345.5 272.7C345.5 313.6 313.6 345.5 272.7 345.5ZM331.8 786.4H213.6V400H336.4L331.8 786.4 331.8 786.4ZM850 90.9H150C118.2 90.9 90.9 118.2 90.9 150 90.9 150 90.9 150 90.9 150V850C90.9 881.8 118.2 909.1 150 909.1H845.5C877.3 909.1 904.5 881.8 904.5 850V150C909.1 118.2 881.8 90.9 850 90.9 850 90.9 850 90.9 850 90.9Z", + "width": 1000 + }, + "search": [ + "linkedin-fill" + ] + }, + { + "uid": "e847cfcc361ab29699b098f25b76a77b", + "css": "profile-fill", + "code": 59401, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M90.9 172.7C90.9 150 109.1 131.8 131.8 131.8H868.2C890.9 131.8 909.1 150 909.1 172.7V827.3C909.1 850 890.9 868.2 868.2 868.2H131.8C109.1 868.2 90.9 850 90.9 827.3 90.9 827.3 90.9 172.7 90.9 172.7ZM254.5 622.7V704.5H745.5V622.7H254.5ZM254.5 295.5V540.9H500V295.5H254.5ZM581.8 295.5V377.3H745.5V295.5H581.8ZM581.8 459.1V540.9H745.5V459.1H581.8ZM336.4 377.3H418.2V459.1H336.4V377.3Z", + "width": 1000 + }, + "search": [ + "profile-fill" + ] + }, + { + "uid": "87c7be607add71fabf58c9706eb30893", + "css": "instagram-line", + "code": 59398, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M500 377.3C431.8 377.3 377.3 431.8 377.3 500S431.8 622.7 500 622.7 622.7 568.2 622.7 500 568.2 377.3 500 377.3ZM500 295.5C613.6 295.5 704.5 386.4 704.5 500S613.6 704.5 500 704.5 295.5 613.6 295.5 500 386.4 295.5 500 295.5ZM763.6 286.4C763.6 313.6 740.9 336.4 713.6 336.4 686.4 336.4 663.6 313.6 663.6 286.4S686.4 236.4 713.6 236.4C740.9 231.8 763.6 259.1 763.6 286.4ZM500 172.7C400 172.7 381.8 172.7 336.4 177.3 304.5 177.3 281.8 181.8 263.6 190.9 245.5 195.5 231.8 204.5 218.2 218.2 204.5 231.8 195.5 245.5 190.9 263.6 181.8 281.8 177.3 304.5 177.3 336.4 177.3 381.8 172.7 395.5 172.7 500 172.7 600 172.7 618.2 177.3 663.6 177.3 695.5 181.8 718.2 190.9 736.4 200 754.5 204.5 768.2 218.2 781.8 231.8 795.5 245.5 804.5 263.6 809.1 281.8 818.2 304.5 822.7 336.4 822.7 381.8 822.7 395.5 827.3 500 827.3 600 827.3 618.2 827.3 663.6 822.7 695.5 822.7 718.2 818.2 736.4 809.1 754.5 804.5 768.2 790.9 781.8 781.8 795.5 768.2 804.5 754.5 809.1 736.4 818.2 718.2 822.7 695.5 822.7 663.6 822.7 618.2 827.3 604.5 827.3 500 827.3 400 827.3 381.8 822.7 336.4 822.7 304.5 818.2 281.8 809.1 263.6 804.5 245.5 790.9 231.8 781.8 218.2 768.2 204.5 754.5 195.5 736.4 190.9 718.2 181.8 695.5 177.3 663.6 177.3 618.2 172.7 604.5 172.7 500 172.7ZM500 90.9C609.1 90.9 627.3 90.9 668.2 95.5 713.6 95.5 740.9 104.5 768.2 113.6 795.5 122.7 818.2 136.4 840.9 159.1 863.6 177.3 877.3 204.5 886.4 231.8 895.5 259.1 904.5 286.4 904.5 331.8 904.5 377.3 909.1 390.9 909.1 500S909.1 627.3 904.5 668.2C904.5 713.6 895.5 740.9 886.4 768.2 877.3 795.5 859.1 818.2 840.9 840.9 818.2 863.6 795.5 877.3 768.2 886.4 740.9 895.5 713.6 904.5 668.2 904.5 622.7 904.5 609.1 909.1 500 909.1S372.7 909.1 331.8 904.5C286.4 904.5 259.1 895.5 231.8 886.4 204.5 877.3 181.8 859.1 159.1 840.9 136.4 818.2 122.7 795.5 113.6 768.2 104.5 740.9 95.5 713.6 95.5 668.2 90.9 622.7 90.9 609.1 90.9 500 90.9 390.9 90.9 372.7 95.5 331.8 95.5 286.4 104.5 259.1 113.6 231.8 122.7 204.5 140.9 181.8 159.1 159.1 177.3 136.4 204.5 122.7 231.8 113.6 259.1 104.5 286.4 95.5 331.8 95.5 372.7 90.9 390.9 90.9 500 90.9Z", + "width": 1000 + }, + "search": [ + "instagram-line" + ] + }, + { + "uid": "c0596241074f58c890c47adf358b9ebf", + "css": "behance-line", + "code": 59393, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M313.6 459.1C359.1 459.1 395.5 422.7 395.5 377.3S359.1 290.9 313.6 290.9H127.3V459.1H313.6ZM354.5 540.9H127.3V709.1H354.5C400 709.1 436.4 672.7 436.4 627.3S400 540.9 354.5 540.9ZM440.9 481.8C518.2 527.3 545.5 631.8 500 709.1 468.2 759.1 413.6 790.9 359.1 790.9H40.9V209.1H313.6C404.5 209.1 481.8 281.8 481.8 377.3 477.3 413.6 463.6 450 440.9 481.8ZM645.5 250H872.7V313.6H645.5V250ZM959.1 604.5H645.5V613.6C645.5 677.3 695.5 727.3 759.1 727.3 800 727.3 840.9 704.5 859.1 663.6H950C922.7 768.2 813.6 831.8 704.5 800 618.2 777.3 559.1 700 559.1 609.1V545.5C559.1 436.4 650 350 759.1 350 863.6 350 950 436.4 954.5 545.5V604.5ZM872.7 522.7C854.5 463.6 790.9 427.3 731.8 445.5 695.5 454.5 663.6 486.4 654.5 522.7H872.7Z", + "width": 1000 + }, + "search": [ + "behance-line" + ] + }, + { + "uid": "c93f9e1428e5a893da8110bf2b3ee475", + "css": "dribbble-line", + "code": 59395, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M500 140.9C300 140.9 140.9 300 140.9 500S300 859.1 500 859.1C700 859.1 859.1 700 859.1 500S700 140.9 500 140.9ZM736.4 304.5C781.8 359.1 804.5 427.3 804.5 495.5 795.5 495.5 690.9 472.7 590.9 486.4 586.4 481.8 586.4 477.3 586.4 468.2 581.8 454.5 572.7 436.4 568.2 422.7 681.8 381.8 731.8 313.6 736.4 304.5L736.4 304.5ZM500 190.9C577.3 190.9 650 218.2 704.5 268.2 700 277.3 654.5 336.4 545.5 377.3 495.5 286.4 440.9 209.1 431.8 195.5 450 195.5 477.3 190.9 500 190.9ZM368.2 222.7C409.1 277.3 450 336.4 481.8 400 336.4 436.4 209.1 436.4 195.5 436.4 218.2 340.9 281.8 263.6 368.2 222.7ZM190.9 500V490.9C204.5 490.9 354.5 495.5 504.5 445.5 513.6 463.6 522.7 481.8 527.3 500 522.7 500 518.2 504.5 513.6 504.5 363.6 554.5 277.3 695.5 272.7 704.5 218.2 650 190.9 577.3 190.9 500ZM500 809.1C431.8 809.1 363.6 786.4 313.6 745.5 318.2 736.4 381.8 613.6 554.5 554.5 554.5 554.5 554.5 554.5 554.5 554.5 581.8 631.8 604.5 709.1 618.2 786.4 581.8 800 540.9 809.1 500 809.1ZM672.7 754.5C668.2 736.4 654.5 645.5 613.6 536.4 709.1 522.7 795.5 545.5 804.5 550 790.9 631.8 740.9 709.1 672.7 754.5L672.7 754.5Z", + "width": 1000 + }, + "search": [ + "dribbble-line" + ] + }, + { + "uid": "58032312267c7fea6936a73c0c472bd5", + "css": "arrow-right", + "code": 59392, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M640.9 463.6L459.1 277.3 509.1 227.3 772.7 500 509.1 772.7 459.1 722.7 640.9 536.4H227.3V468.2H640.9Z", + "width": 1000 + }, + "search": [ + "arrow-right" + ] + }, + { + "uid": "315bd7dceb8083b37f60c66fce2f8758", + "css": "yelp-line", + "code": 59436, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M410.5 118.6C409.4 102.5 406.7 64.8 361.8 56.8 317.4 48.8 203.3 82.1 159.7 106.8 141.5 117.1 128.2 133.5 124.1 150.6 121 163.7 123.3 176.8 130.6 187.7 149.2 215.4 300 463 324.4 488.5 339.9 504.6 361.7 512.1 383.1 506.9 403.4 501.9 419.3 486 425.6 464.5 435.6 430.5 415.7 197.4 410.5 118.6ZM375.5 450.2C374.9 452.3 373.4 455.6 370.7 456.2 368.1 456.9 364.9 455.4 362 452.4 343.4 432.6 196.2 192.9 175.5 161.1 176.9 158.8 180.3 155 185.4 152.1 225.4 129.5 325.4 103.1 352.6 108.1 355 108.5 356.3 109 356.8 109.3 357.8 111.5 358.2 118.2 358.5 122.2 361.4 161.7 381.4 420.4 375.5 450.2ZM97.8 449.9C86.8 455.8 72.1 468.9 64.8 497.7 54.8 537.2 51.2 608.2 62.7 654.1 70.5 684.9 98.6 703.3 128.3 696.6 142 693.5 288.2 646.9 317.3 637.6 343.4 629.3 359.7 603.7 357.8 574.1 356.2 548.4 342.8 529.1 320.1 519.7 223.9 479.8 176.4 459.9 140.2 447.1 125.8 442 110.7 443 97.8 449.9ZM122.1 496C122.3 496 122.5 496.1 122.9 496.2 160 509.3 211.9 531.3 300.2 567.8 303 569 305.4 570 305.8 577.4 306.2 583 304.6 587 301.5 587.9 235.5 609 127 643.4 116.9 645.8 114.6 646.3 113.5 642.2 113.3 641.4 105 608.6 106 547.4 115.3 510.5 117.7 500.9 120.9 496.9 122.1 496ZM649.9 324.6C634.6 310.5 616 303 598.6 303.9 584.4 304.7 572 310.8 562.6 321.7 558.9 325.9 525.6 370.1 499.4 405.7 437.1 490.6 436.1 496.6 434.9 504.2 431.6 524.6 439.1 546.5 454.5 561.3 470.2 576.3 491.6 582.3 513.2 577.9 519.7 576.6 696 531.7 697.5 531.3 717.5 526 727.3 513.8 732 504.5 740.4 488.2 740 467.5 731.1 444.7 715.7 405.3 680 352.6 649.9 324.6L649.9 324.6ZM685.7 480.4C685.4 480.5 685 480.7 684.3 480.8 675.4 483.2 511.8 524.8 502.5 526.9 497.8 527.8 493.8 526.7 490.6 523.7 488.1 521.3 486.5 518 486.3 515 500.7 490.1 591.5 368.8 601.8 355.9 603.7 356 608.7 357.6 614.4 362.8 638.8 385.4 670 431.6 682.6 463.7 686.2 473 686.1 478.5 685.7 480.4L685.7 480.4ZM690.7 655.7C635.6 637.3 580.4 619 525.3 600.7 497.5 591.5 470 601.2 453.5 626.1 439.4 647.5 438.6 671.9 451.4 693 494.3 763.5 522.5 808.3 533.2 825.7 550 853.2 566.6 881.2 598.9 881.2 618.6 881.2 635.2 869.4 646.4 860.1 677.5 834.1 715.5 785.8 732.9 749.9 744.1 727 746.2 707.9 739.4 691.7 729.7 668.7 705.3 660.6 690.7 655.7L690.7 655.7ZM686.1 727.2C671.6 756.8 638.9 798.5 613.1 820 605.1 826.7 600.8 828.4 599.3 828.9 593 824.7 519.5 704.6 496 665.9 494.2 663.1 493.2 660.5 497 654.8 499.8 650.6 502.3 649.4 504.8 649.4 506.1 649.4 507.5 649.7 508.9 650.2 564 668.5 619.1 686.8 674.3 705.1 683.2 708.1 688.8 710.5 691.2 712.2 691 714 690.2 718.6 686.1 727.2L686.1 727.2ZM380.1 637.6C355.2 631.2 332.7 638.1 316.7 657 220.9 770.4 206.4 788.7 191.7 808.6 179.4 825.3 179.4 840.8 181.6 850.8 185.6 869.4 200.3 885.5 226.4 900.1 250.2 913.4 276.9 924.4 308.1 933.7 327.4 939.4 348 944.4 366.8 944.4 406 944.4 427.1 921.2 427.2 887.6 427.4 842 427.3 823 427.2 695.3 427.2 668.1 408.3 644.9 380.1 637.6L380.1 637.6ZM374.8 891.5C371.8 892.7 360.3 894.9 323 883.7 295.5 875.5 272.2 866 251.8 854.6 238.9 847.4 234.4 842.5 233 840.5 242.4 825.2 340.2 709.9 356.6 690.6 358.6 688.2 360.2 686.3 367.1 688.1 372.3 689.4 375.2 692.1 375.2 695.4 375.4 897.6 375.4 889.1 374.8 891.5Z", + "width": 778 + }, + "search": [ + "yelp" + ] + } + ] +} \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Black.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Black.woff new file mode 100644 index 0000000..52fc1ce Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Black.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Black.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Black.woff2 new file mode 100644 index 0000000..2e65b3b Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Black.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-BlackItalic.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-BlackItalic.woff new file mode 100644 index 0000000..fce36ad Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-BlackItalic.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-BlackItalic.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-BlackItalic.woff2 new file mode 100644 index 0000000..2777331 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-BlackItalic.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Bold.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Bold.woff new file mode 100644 index 0000000..911076e Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Bold.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Bold.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Bold.woff2 new file mode 100644 index 0000000..94de9dd Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Bold.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-BoldItalic.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-BoldItalic.woff new file mode 100644 index 0000000..88a3164 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-BoldItalic.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-BoldItalic.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-BoldItalic.woff2 new file mode 100644 index 0000000..c62d76a Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-BoldItalic.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraBold.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraBold.woff new file mode 100644 index 0000000..fcb232f Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraBold.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraBold.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraBold.woff2 new file mode 100644 index 0000000..cdf91bb Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraBold.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraBoldItalic.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraBoldItalic.woff new file mode 100644 index 0000000..0b305fd Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraBoldItalic.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraBoldItalic.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraBoldItalic.woff2 new file mode 100644 index 0000000..43c338a Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraBoldItalic.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraLight-BETA.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraLight-BETA.woff new file mode 100644 index 0000000..ed00c53 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraLight-BETA.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraLight-BETA.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraLight-BETA.woff2 new file mode 100644 index 0000000..51c874c Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraLight-BETA.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraLightItalic-BETA.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraLightItalic-BETA.woff new file mode 100644 index 0000000..43a6c86 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraLightItalic-BETA.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraLightItalic-BETA.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraLightItalic-BETA.woff2 new file mode 100644 index 0000000..5f150d6 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ExtraLightItalic-BETA.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Italic.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Italic.woff new file mode 100644 index 0000000..ffc7852 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Italic.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Italic.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Italic.woff2 new file mode 100644 index 0000000..4c1e6ba Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Italic.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Light.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Light.woff new file mode 100644 index 0000000..dd88dfe Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Light.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Light.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Light.woff2 new file mode 100644 index 0000000..dcaee00 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Light.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-LightItalic-BETA.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-LightItalic-BETA.woff new file mode 100644 index 0000000..a6e0606 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-LightItalic-BETA.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-LightItalic-BETA.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-LightItalic-BETA.woff2 new file mode 100644 index 0000000..b619c26 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-LightItalic-BETA.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Medium.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Medium.woff new file mode 100644 index 0000000..ad11dde Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Medium.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Medium.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Medium.woff2 new file mode 100644 index 0000000..ae3c131 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Medium.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-MediumItalic.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-MediumItalic.woff new file mode 100644 index 0000000..5260192 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-MediumItalic.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-MediumItalic.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-MediumItalic.woff2 new file mode 100644 index 0000000..2810aab Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-MediumItalic.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Regular.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Regular.woff new file mode 100644 index 0000000..f7e4a7f Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Regular.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Regular.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Regular.woff2 new file mode 100644 index 0000000..48579a0 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Regular.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-SemiBold.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-SemiBold.woff new file mode 100644 index 0000000..cc53bf9 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-SemiBold.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-SemiBold.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-SemiBold.woff2 new file mode 100644 index 0000000..8d9c52b Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-SemiBold.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-SemiBoldItalic.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-SemiBoldItalic.woff new file mode 100644 index 0000000..90daeac Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-SemiBoldItalic.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-SemiBoldItalic.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-SemiBoldItalic.woff2 new file mode 100644 index 0000000..7108ca0 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-SemiBoldItalic.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Thin-BETA.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Thin-BETA.woff new file mode 100644 index 0000000..0176d00 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Thin-BETA.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Thin-BETA.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Thin-BETA.woff2 new file mode 100644 index 0000000..20c3070 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-Thin-BETA.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ThinItalic-BETA.woff b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ThinItalic-BETA.woff new file mode 100644 index 0000000..3dae5bc Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ThinItalic-BETA.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ThinItalic-BETA.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ThinItalic-BETA.woff2 new file mode 100644 index 0000000..89c287a Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-ThinItalic-BETA.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-italic.var.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-italic.var.woff2 new file mode 100644 index 0000000..62e33cf Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-italic.var.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-upright.var.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-upright.var.woff2 new file mode 100644 index 0000000..9bb2503 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter-upright.var.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/Inter.var.woff2 b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter.var.woff2 new file mode 100644 index 0000000..f67603f Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/inter/Inter.var.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/inter/inter.css b/themes/adritian-free-hugo-theme/static/fonts/inter/inter.css new file mode 100644 index 0000000..7e06668 --- /dev/null +++ b/themes/adritian-free-hugo-theme/static/fonts/inter/inter.css @@ -0,0 +1,199 @@ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url("Inter-Thin-BETA.woff2") format("woff2"), + url("Inter-Thin-BETA.woff") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url("Inter-ThinItalic-BETA.woff2") format("woff2"), + url("Inter-ThinItalic-BETA.woff") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 200; + font-display: swap; + src: url("Inter-ExtraLight-BETA.woff2") format("woff2"), + url("Inter-ExtraLight-BETA.woff") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 200; + font-display: swap; + src: url("Inter-ExtraLightItalic-BETA.woff2") format("woff2"), + url("Inter-ExtraLightItalic-BETA.woff") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url("Inter-Light-BETA.woff2") format("woff2"), + url("Inter-Light-BETA.woff") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url("Inter-LightItalic-BETA.woff2") format("woff2"), + url("Inter-LightItalic-BETA.woff") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("Inter-Regular.woff2") format("woff2"), + url("Inter-Regular.woff") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url("Inter-Italic.woff2") format("woff2"), + url("Inter-Italic.woff") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url("Inter-Medium.woff2") format("woff2"), + url("Inter-Medium.woff") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 500; + font-display: swap; + src: url("Inter-MediumItalic.woff2") format("woff2"), + url("Inter-MediumItalic.woff") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url("Inter-SemiBold.woff2") format("woff2"), + url("Inter-SemiBold.woff") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url("Inter-SemiBoldItalic.woff2") format("woff2"), + url("Inter-SemiBoldItalic.woff") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url("Inter-Bold.woff2") format("woff2"), + url("Inter-Bold.woff") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url("Inter-BoldItalic.woff2") format("woff2"), + url("Inter-BoldItalic.woff") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 800; + font-display: swap; + src: url("Inter-ExtraBold.woff2") format("woff2"), + url("Inter-ExtraBold.woff") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 800; + src: url("Inter-ExtraBoldItalic.woff2") format("woff2"), + url("Inter-ExtraBoldItalic.woff") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url("Inter-Black.woff2") format("woff2"), + url("Inter-Black.woff") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 900; + font-display: swap; + src: url("Inter-BlackItalic.woff2") format("woff2"), + url("Inter-BlackItalic.woff") format("woff"); +} + +/* ------------------------------------------------------- +Variable font. +Usage: + + html { font-family: 'Inter', sans-serif; } + @supports (font-variation-settings: normal) { + html { font-family: 'Inter var', sans-serif; } + } +*/ +@font-face { + font-family: 'Inter var'; + font-weight: 100 900; + font-style: normal; + font-display: swap; + font-named-instance: 'Regular'; + src: url("Inter-upright.var.woff2") format("woff2"); +} +@font-face { + font-family: 'Inter var'; + font-weight: 100 900; + font-style: italic; + font-display: swap; + font-named-instance: 'Italic'; + src: url("Inter-italic.var.woff2") format("woff2"); +} + + +/* -------------------------------------------------------------------------- +[EXPERIMENTAL] Multi-axis, single variable font. + +Slant axis is not yet widely supported (as of February 2019) and thus this +multi-axis single variable font is opt-in rather than the default. + +When using this, you will probably need to set font-variation-settings +explicitly, e.g. + + * { font-variation-settings: "slnt" 0deg } + .italic { font-variation-settings: "slnt" 10deg } + +*/ +@font-face { + font-family: 'Inter var experimental'; + font-weight: 100 900; + font-style: oblique 0deg 10deg; + font-display: swap; + src: url("Inter.var.woff2") format("woff2"); +} diff --git a/themes/adritian-free-hugo-theme/static/fonts/rad-icons.eot b/themes/adritian-free-hugo-theme/static/fonts/rad-icons.eot new file mode 100644 index 0000000..17eb654 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/rad-icons.eot differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/rad-icons.svg b/themes/adritian-free-hugo-theme/static/fonts/rad-icons.svg new file mode 100644 index 0000000..bd279e3 --- /dev/null +++ b/themes/adritian-free-hugo-theme/static/fonts/rad-icons.svg @@ -0,0 +1,42 @@ + + + +Copyright (C) 2020 by original authors @ fontello.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/static/fonts/rad-icons.ttf b/themes/adritian-free-hugo-theme/static/fonts/rad-icons.ttf new file mode 100644 index 0000000..20be62a Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/rad-icons.ttf differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/rad-icons.woff b/themes/adritian-free-hugo-theme/static/fonts/rad-icons.woff new file mode 100644 index 0000000..af5c82d Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/rad-icons.woff differ diff --git a/themes/adritian-free-hugo-theme/static/fonts/rad-icons.woff2 b/themes/adritian-free-hugo-theme/static/fonts/rad-icons.woff2 new file mode 100644 index 0000000..351b4a1 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/fonts/rad-icons.woff2 differ diff --git a/themes/adritian-free-hugo-theme/static/img/contact-bg.png b/themes/adritian-free-hugo-theme/static/img/contact-bg.png new file mode 100644 index 0000000..1d89690 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/img/contact-bg.png differ diff --git a/themes/adritian-free-hugo-theme/static/img/general/contact-bg.png b/themes/adritian-free-hugo-theme/static/img/general/contact-bg.png new file mode 100644 index 0000000..1d89690 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/img/general/contact-bg.png differ diff --git a/themes/adritian-free-hugo-theme/static/img/general/design-and-code-radity.png b/themes/adritian-free-hugo-theme/static/img/general/design-and-code-radity.png new file mode 100644 index 0000000..9f06032 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/img/general/design-and-code-radity.png differ diff --git a/themes/adritian-free-hugo-theme/static/img/general/design-and-code-radity.svg b/themes/adritian-free-hugo-theme/static/img/general/design-and-code-radity.svg new file mode 100644 index 0000000..aa85c81 --- /dev/null +++ b/themes/adritian-free-hugo-theme/static/img/general/design-and-code-radity.svg @@ -0,0 +1,10 @@ + + + + + + Design & Code + + + + diff --git a/themes/adritian-free-hugo-theme/static/img/general/design-and-code-radity@2x.png b/themes/adritian-free-hugo-theme/static/img/general/design-and-code-radity@2x.png new file mode 100644 index 0000000..26e9c74 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/img/general/design-and-code-radity@2x.png differ diff --git a/themes/adritian-free-hugo-theme/static/img/general/logo-black.svg b/themes/adritian-free-hugo-theme/static/img/general/logo-black.svg new file mode 100644 index 0000000..09331fd --- /dev/null +++ b/themes/adritian-free-hugo-theme/static/img/general/logo-black.svg @@ -0,0 +1,10 @@ + + + + ANDREAS + + + Ellure + + + diff --git a/themes/adritian-free-hugo-theme/static/img/general/logo-dark.png b/themes/adritian-free-hugo-theme/static/img/general/logo-dark.png new file mode 100644 index 0000000..702c4e2 Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/img/general/logo-dark.png differ diff --git a/themes/adritian-free-hugo-theme/static/img/general/logo-dark@2x.png b/themes/adritian-free-hugo-theme/static/img/general/logo-dark@2x.png new file mode 100644 index 0000000..ac6604e Binary files /dev/null and b/themes/adritian-free-hugo-theme/static/img/general/logo-dark@2x.png differ diff --git a/themes/adritian-free-hugo-theme/static/img/general/mail-fill.svg b/themes/adritian-free-hugo-theme/static/img/general/mail-fill.svg new file mode 100644 index 0000000..188de88 --- /dev/null +++ b/themes/adritian-free-hugo-theme/static/img/general/mail-fill.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/themes/adritian-free-hugo-theme/static/img/general/user-smile-fill.svg b/themes/adritian-free-hugo-theme/static/img/general/user-smile-fill.svg new file mode 100644 index 0000000..2893f6e --- /dev/null +++ b/themes/adritian-free-hugo-theme/static/img/general/user-smile-fill.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/themes/adritian-free-hugo-theme/static/js/header.js b/themes/adritian-free-hugo-theme/static/js/header.js new file mode 100644 index 0000000..37f1f74 --- /dev/null +++ b/themes/adritian-free-hugo-theme/static/js/header.js @@ -0,0 +1 @@ +class Header{constructor(t){this.header=t,this.body=document.querySelector("body"),this.thresholdPosition=15,this.triggeredStickyClass="header--sticky-triggered",this.stickyClass="header--sticky",this.ticking=!1,this.bodyPosition=0,window.addEventListener("DOMContentLoaded",()=>this.initSticky())}initSticky(){this.headerStaticHeight=this.header.getBoundingClientRect().height,this.header.classList.toggle(this.stickyClass,!0),window.addEventListener("scroll",()=>this.scrollHandler())}scrollHandler(){this.ticking||(window.requestAnimationFrame(()=>{this.scrollChanged(),this.ticking=!1}),this.ticking=!0)}scrollChanged(){this.bodyPosition=Math.abs(this.body.getBoundingClientRect().top),this.bodyPosition>this.thresholdPosition?this.header.classList.toggle(this.triggeredStickyClass,!0):this.header.classList.toggle(this.triggeredStickyClass,!1)}}const header=new Header(document.querySelector("#header")); \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/static/js/library/bootstrap.bundle.min.js b/themes/adritian-free-hugo-theme/static/js/library/bootstrap.bundle.min.js new file mode 100644 index 0000000..68acb7a --- /dev/null +++ b/themes/adritian-free-hugo-theme/static/js/library/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.0.2 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const i=[];let n=t.parentNode;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(e)&&i.push(n),n=n.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]}},e=t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},i=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i="#"+i.split("#")[1]),e=i&&"#"!==i?i.trim():null}return e},n=t=>{const e=i(t);return e&&document.querySelector(e)?e:null},s=t=>{const e=i(t);return e?document.querySelector(e):null},o=t=>{t.dispatchEvent(new Event("transitionend"))},r=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),a=e=>r(e)?e.jquery?e[0]:e:"string"==typeof e&&e.length>0?t.findOne(e):null,l=(t,e,i)=>{Object.keys(i).forEach(n=>{const s=i[n],o=e[n],a=o&&r(o)?"element":null==(l=o)?""+l:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)})},c=t=>!(!r(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),h=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),d=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?d(t.parentNode):null},u=()=>{},f=t=>t.offsetHeight,p=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},m=[],g=()=>"rtl"===document.documentElement.dir,_=t=>{var e;e=()=>{const e=p();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(m.length||document.addEventListener("DOMContentLoaded",()=>{m.forEach(t=>t())}),m.push(e)):e()},b=t=>{"function"==typeof t&&t()},v=(t,e,i=!0)=>{if(!i)return void b(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const r=({target:i})=>{i===e&&(s=!0,e.removeEventListener("transitionend",r),b(t))};e.addEventListener("transitionend",r),setTimeout(()=>{s||o(e)},n)},y=(t,e,i,n)=>{let s=t.indexOf(e);if(-1===s)return t[!i&&n?t.length-1:0];const o=t.length;return s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},w=/[^.]*(?=\..*)\.|.*/,E=/\..*/,A=/::\d+$/,T={};let O=1;const C={mouseenter:"mouseover",mouseleave:"mouseout"},k=/^(mouseenter|mouseleave)/i,L=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function x(t,e){return e&&`${e}::${O++}`||t.uidEvent||O++}function D(t){const e=x(t);return t.uidEvent=e,T[e]=T[e]||{},T[e]}function S(t,e,i=null){const n=Object.keys(t);for(let s=0,o=n.length;sfunction(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n=t(n):i=t(i)}const[o,r,a]=I(e,i,n),l=D(t),c=l[a]||(l[a]={}),h=S(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=x(r,e.replace(w,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return s.delegateTarget=r,n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget=t,i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function j(t,e,i,n,s){const o=S(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function M(t){return t=t.replace(E,""),C[t]||t}const P={on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=I(e,i,n),a=r!==e,l=D(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void j(t,l,r,o,s?i:null)}c&&Object.keys(l).forEach(i=>{!function(t,e,i,n){const s=e[i]||{};Object.keys(s).forEach(o=>{if(o.includes(n)){const n=s[o];j(t,e,i,n.originalHandler,n.delegationSelector)}})}(t,l,i,e.slice(1))});const h=l[r]||{};Object.keys(h).forEach(i=>{const n=i.replace(A,"");if(!a||e.includes(n)){const e=h[i];j(t,l,r,e.originalHandler,e.delegationSelector)}})},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=p(),s=M(e),o=e!==s,r=L.has(s);let a,l=!0,c=!0,h=!1,d=null;return o&&n&&(a=n.Event(e,i),n(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(s,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach(t=>{Object.defineProperty(d,t,{get:()=>i[t]})}),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},H=new Map;var R={set(t,e,i){H.has(t)||H.set(t,new Map);const n=H.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>H.has(t)&&H.get(t).get(e)||null,remove(t,e){if(!H.has(t))return;const i=H.get(t);i.delete(e),0===i.size&&H.delete(t)}};class B{constructor(t){(t=a(t))&&(this._element=t,R.set(this._element,this.constructor.DATA_KEY,this))}dispose(){R.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach(t=>{this[t]=null})}_queueCallback(t,e,i=!0){v(t,e,i)}static getInstance(t){return R.get(t,this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.0.2"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return"bs."+this.NAME}static get EVENT_KEY(){return"."+this.DATA_KEY}}class W extends B{static get NAME(){return"alert"}close(t){const e=t?this._getRootElement(t):this._element,i=this._triggerCloseEvent(e);null===i||i.defaultPrevented||this._removeElement(e)}_getRootElement(t){return s(t)||t.closest(".alert")}_triggerCloseEvent(t){return P.trigger(t,"close.bs.alert")}_removeElement(t){t.classList.remove("show");const e=t.classList.contains("fade");this._queueCallback(()=>this._destroyElement(t),t,e)}_destroyElement(t){t.remove(),P.trigger(t,"closed.bs.alert")}static jQueryInterface(t){return this.each((function(){const e=W.getOrCreateInstance(this);"close"===t&&e[t](this)}))}static handleDismiss(t){return function(e){e&&e.preventDefault(),t.close(this)}}}P.on(document,"click.bs.alert.data-api",'[data-bs-dismiss="alert"]',W.handleDismiss(new W)),_(W);class q extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=q.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function z(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function $(t){return t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}P.on(document,"click.bs.button.data-api",'[data-bs-toggle="button"]',t=>{t.preventDefault();const e=t.target.closest('[data-bs-toggle="button"]');q.getOrCreateInstance(e).toggle()}),_(q);const U={setDataAttribute(t,e,i){t.setAttribute("data-bs-"+$(e),i)},removeDataAttribute(t,e){t.removeAttribute("data-bs-"+$(e))},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter(t=>t.startsWith("bs")).forEach(i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=z(t.dataset[i])}),e},getDataAttribute:(t,e)=>z(t.getAttribute("data-bs-"+$(e))),offset(t){const e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},F={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},V={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},K="next",X="prev",Y="left",Q="right",G={ArrowLeft:Q,ArrowRight:Y};class Z extends B{constructor(e,i){super(e),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(i),this._indicatorsElement=t.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return F}static get NAME(){return"carousel"}next(){this._slide(K)}nextWhenVisible(){!document.hidden&&c(this._element)&&this.next()}prev(){this._slide(X)}pause(e){e||(this._isPaused=!0),t.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(o(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(e){this._activeElement=t.findOne(".active.carousel-item",this._element);const i=this._getItemIndex(this._activeElement);if(e>this._items.length-1||e<0)return;if(this._isSliding)return void P.one(this._element,"slid.bs.carousel",()=>this.to(e));if(i===e)return this.pause(),void this.cycle();const n=e>i?K:X;this._slide(n,this._items[e])}_getConfig(t){return t={...F,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("carousel",t,V),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?Q:Y)}_addEventListeners(){this._config.keyboard&&P.on(this._element,"keydown.bs.carousel",t=>this._keydown(t)),"hover"===this._config.pause&&(P.on(this._element,"mouseenter.bs.carousel",t=>this.pause(t)),P.on(this._element,"mouseleave.bs.carousel",t=>this.cycle(t))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const e=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType?this._pointerEvent||(this.touchStartX=t.touches[0].clientX):this.touchStartX=t.clientX},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},n=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType||(this.touchDeltaX=t.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(t=>this.cycle(t),500+this._config.interval))};t.find(".carousel-item img",this._element).forEach(t=>{P.on(t,"dragstart.bs.carousel",t=>t.preventDefault())}),this._pointerEvent?(P.on(this._element,"pointerdown.bs.carousel",t=>e(t)),P.on(this._element,"pointerup.bs.carousel",t=>n(t)),this._element.classList.add("pointer-event")):(P.on(this._element,"touchstart.bs.carousel",t=>e(t)),P.on(this._element,"touchmove.bs.carousel",t=>i(t)),P.on(this._element,"touchend.bs.carousel",t=>n(t)))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=G[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(e){return this._items=e&&e.parentNode?t.find(".carousel-item",e.parentNode):[],this._items.indexOf(e)}_getItemByOrder(t,e){const i=t===K;return y(this._items,e,i,this._config.wrap)}_triggerSlideEvent(e,i){const n=this._getItemIndex(e),s=this._getItemIndex(t.findOne(".active.carousel-item",this._element));return P.trigger(this._element,"slide.bs.carousel",{relatedTarget:e,direction:i,from:s,to:n})}_setActiveIndicatorElement(e){if(this._indicatorsElement){const i=t.findOne(".active",this._indicatorsElement);i.classList.remove("active"),i.removeAttribute("aria-current");const n=t.find("[data-bs-target]",this._indicatorsElement);for(let t=0;t{P.trigger(this._element,"slid.bs.carousel",{relatedTarget:r,direction:u,from:o,to:a})};if(this._element.classList.contains("slide")){r.classList.add(d),f(r),s.classList.add(h),r.classList.add(h);const t=()=>{r.classList.remove(h,d),r.classList.add("active"),s.classList.remove("active",d,h),this._isSliding=!1,setTimeout(p,0)};this._queueCallback(t,s,!0)}else s.classList.remove("active"),r.classList.add("active"),this._isSliding=!1,p();l&&this.cycle()}_directionToOrder(t){return[Q,Y].includes(t)?g()?t===Y?X:K:t===Y?K:X:t}_orderToDirection(t){return[K,X].includes(t)?g()?t===X?Y:Q:t===X?Q:Y:t}static carouselInterface(t,e){const i=Z.getOrCreateInstance(t,e);let{_config:n}=i;"object"==typeof e&&(n={...n,...e});const s="string"==typeof e?e:n.slide;if("number"==typeof e)i.to(e);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){Z.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=s(this);if(!e||!e.classList.contains("carousel"))return;const i={...U.getDataAttributes(e),...U.getDataAttributes(this)},n=this.getAttribute("data-bs-slide-to");n&&(i.interval=!1),Z.carouselInterface(e,i),n&&Z.getInstance(e).to(n),t.preventDefault()}}P.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",Z.dataApiClickHandler),P.on(window,"load.bs.carousel.data-api",()=>{const e=t.find('[data-bs-ride="carousel"]');for(let t=0,i=e.length;tt===this._element);null!==o&&r.length&&(this._selector=o,this._triggerArray.push(i))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}static get Default(){return J}static get NAME(){return"collapse"}toggle(){this._element.classList.contains("show")?this.hide():this.show()}show(){if(this._isTransitioning||this._element.classList.contains("show"))return;let e,i;this._parent&&(e=t.find(".show, .collapsing",this._parent).filter(t=>"string"==typeof this._config.parent?t.getAttribute("data-bs-parent")===this._config.parent:t.classList.contains("collapse")),0===e.length&&(e=null));const n=t.findOne(this._selector);if(e){const t=e.find(t=>n!==t);if(i=t?et.getInstance(t):null,i&&i._isTransitioning)return}if(P.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e&&e.forEach(t=>{n!==t&&et.collapseInterface(t,"hide"),i||R.set(t,"bs.collapse",null)});const s=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach(t=>{t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)}),this.setTransitioning(!0);const o="scroll"+(s[0].toUpperCase()+s.slice(1));this._queueCallback(()=>{this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[s]="",this.setTransitioning(!1),P.trigger(this._element,"shown.bs.collapse")},this._element,!0),this._element.style[s]=this._element[o]+"px"}hide(){if(this._isTransitioning||!this._element.classList.contains("show"))return;if(P.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",f(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");const e=this._triggerArray.length;if(e>0)for(let t=0;t{this.setTransitioning(!1),this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),P.trigger(this._element,"hidden.bs.collapse")},this._element,!0)}setTransitioning(t){this._isTransitioning=t}_getConfig(t){return(t={...J,...t}).toggle=Boolean(t.toggle),l("collapse",t,tt),t}_getDimension(){return this._element.classList.contains("width")?"width":"height"}_getParent(){let{parent:e}=this._config;e=a(e);const i=`[data-bs-toggle="collapse"][data-bs-parent="${e}"]`;return t.find(i,e).forEach(t=>{const e=s(t);this._addAriaAndCollapsedClass(e,[t])}),e}_addAriaAndCollapsedClass(t,e){if(!t||!e.length)return;const i=t.classList.contains("show");e.forEach(t=>{i?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",i)})}static collapseInterface(t,e){let i=et.getInstance(t);const n={...J,...U.getDataAttributes(t),..."object"==typeof e&&e?e:{}};if(!i&&n.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(n.toggle=!1),i||(i=new et(t,n)),"string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){et.collapseInterface(this,t)}))}}P.on(document,"click.bs.collapse.data-api",'[data-bs-toggle="collapse"]',(function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();const i=U.getDataAttributes(this),s=n(this);t.find(s).forEach(t=>{const e=et.getInstance(t);let n;e?(null===e._parent&&"string"==typeof i.parent&&(e._config.parent=i.parent,e._parent=e._getParent()),n="toggle"):n=i,et.collapseInterface(t,n)})})),_(et);var it="top",nt="bottom",st="right",ot="left",rt=[it,nt,st,ot],at=rt.reduce((function(t,e){return t.concat([e+"-start",e+"-end"])}),[]),lt=[].concat(rt,["auto"]).reduce((function(t,e){return t.concat([e,e+"-start",e+"-end"])}),[]),ct=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function ht(t){return t?(t.nodeName||"").toLowerCase():null}function dt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function ut(t){return t instanceof dt(t).Element||t instanceof Element}function ft(t){return t instanceof dt(t).HTMLElement||t instanceof HTMLElement}function pt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof dt(t).ShadowRoot||t instanceof ShadowRoot)}var mt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];ft(s)&&ht(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});ft(n)&&ht(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function gt(t){return t.split("-")[0]}function _t(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function bt(t){var e=_t(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function vt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&pt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function yt(t){return dt(t).getComputedStyle(t)}function wt(t){return["table","td","th"].indexOf(ht(t))>=0}function Et(t){return((ut(t)?t.ownerDocument:t.document)||window.document).documentElement}function At(t){return"html"===ht(t)?t:t.assignedSlot||t.parentNode||(pt(t)?t.host:null)||Et(t)}function Tt(t){return ft(t)&&"fixed"!==yt(t).position?t.offsetParent:null}function Ot(t){for(var e=dt(t),i=Tt(t);i&&wt(i)&&"static"===yt(i).position;)i=Tt(i);return i&&("html"===ht(i)||"body"===ht(i)&&"static"===yt(i).position)?e:i||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&ft(t)&&"fixed"===yt(t).position)return null;for(var i=At(t);ft(i)&&["html","body"].indexOf(ht(i))<0;){var n=yt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ct(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var kt=Math.max,Lt=Math.min,xt=Math.round;function Dt(t,e,i){return kt(t,Lt(e,i))}function St(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function It(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}var Nt={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=gt(i.placement),l=Ct(a),c=[ot,st].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return St("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:It(t,rt))}(s.padding,i),d=bt(o),u="y"===l?it:ot,f="y"===l?nt:st,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=Ot(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,E=Dt(v,w,y),A=l;i.modifiersData[n]=((e={})[A]=E,e.centerOffset=E-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&vt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},jt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Mt(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.offsets,r=t.position,a=t.gpuAcceleration,l=t.adaptive,c=t.roundOffsets,h=!0===c?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:xt(xt(e*n)/n)||0,y:xt(xt(i*n)/n)||0}}(o):"function"==typeof c?c(o):o,d=h.x,u=void 0===d?0:d,f=h.y,p=void 0===f?0:f,m=o.hasOwnProperty("x"),g=o.hasOwnProperty("y"),_=ot,b=it,v=window;if(l){var y=Ot(i),w="clientHeight",E="clientWidth";y===dt(i)&&"static"!==yt(y=Et(i)).position&&(w="scrollHeight",E="scrollWidth"),y=y,s===it&&(b=nt,p-=y[w]-n.height,p*=a?1:-1),s===ot&&(_=st,u-=y[E]-n.width,u*=a?1:-1)}var A,T=Object.assign({position:r},l&&jt);return a?Object.assign({},T,((A={})[b]=g?"0":"",A[_]=m?"0":"",A.transform=(v.devicePixelRatio||1)<2?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",A)):Object.assign({},T,((e={})[b]=g?p+"px":"",e[_]=m?u+"px":"",e.transform="",e))}var Pt={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:gt(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,Mt(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,Mt(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},Ht={passive:!0},Rt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=dt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,Ht)})),a&&l.addEventListener("resize",i.update,Ht),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,Ht)})),a&&l.removeEventListener("resize",i.update,Ht)}},data:{}},Bt={left:"right",right:"left",bottom:"top",top:"bottom"};function Wt(t){return t.replace(/left|right|bottom|top/g,(function(t){return Bt[t]}))}var qt={start:"end",end:"start"};function zt(t){return t.replace(/start|end/g,(function(t){return qt[t]}))}function $t(t){var e=dt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ut(t){return _t(Et(t)).left+$t(t).scrollLeft}function Ft(t){var e=yt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Vt(t,e){var i;void 0===e&&(e=[]);var n=function t(e){return["html","body","#document"].indexOf(ht(e))>=0?e.ownerDocument.body:ft(e)&&Ft(e)?e:t(At(e))}(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=dt(n),r=s?[o].concat(o.visualViewport||[],Ft(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Vt(At(r)))}function Kt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Xt(t,e){return"viewport"===e?Kt(function(t){var e=dt(t),i=Et(t),n=e.visualViewport,s=i.clientWidth,o=i.clientHeight,r=0,a=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=n.offsetLeft,a=n.offsetTop)),{width:s,height:o,x:r+Ut(t),y:a}}(t)):ft(e)?function(t){var e=_t(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Kt(function(t){var e,i=Et(t),n=$t(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=kt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=kt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ut(t),l=-n.scrollTop;return"rtl"===yt(s||i).direction&&(a+=kt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Et(t)))}function Yt(t){return t.split("-")[1]}function Qt(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?gt(s):null,r=s?Yt(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case it:e={x:a,y:i.y-n.height};break;case nt:e={x:a,y:i.y+i.height};break;case st:e={x:i.x+i.width,y:l};break;case ot:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ct(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case"start":e[c]=e[c]-(i[h]/2-n[h]/2);break;case"end":e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function Gt(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.boundary,r=void 0===o?"clippingParents":o,a=i.rootBoundary,l=void 0===a?"viewport":a,c=i.elementContext,h=void 0===c?"popper":c,d=i.altBoundary,u=void 0!==d&&d,f=i.padding,p=void 0===f?0:f,m=St("number"!=typeof p?p:It(p,rt)),g="popper"===h?"reference":"popper",_=t.elements.reference,b=t.rects.popper,v=t.elements[u?g:h],y=function(t,e,i){var n="clippingParents"===e?function(t){var e=Vt(At(t)),i=["absolute","fixed"].indexOf(yt(t).position)>=0&&ft(t)?Ot(t):t;return ut(i)?e.filter((function(t){return ut(t)&&vt(t,i)&&"body"!==ht(t)})):[]}(t):[].concat(e),s=[].concat(n,[i]),o=s[0],r=s.reduce((function(e,i){var n=Xt(t,i);return e.top=kt(n.top,e.top),e.right=Lt(n.right,e.right),e.bottom=Lt(n.bottom,e.bottom),e.left=kt(n.left,e.left),e}),Xt(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}(ut(v)?v:v.contextElement||Et(t.elements.popper),r,l),w=_t(_),E=Qt({reference:w,element:b,strategy:"absolute",placement:s}),A=Kt(Object.assign({},b,E)),T="popper"===h?A:w,O={top:y.top-T.top+m.top,bottom:T.bottom-y.bottom+m.bottom,left:y.left-T.left+m.left,right:T.right-y.right+m.right},C=t.modifiersData.offset;if("popper"===h&&C){var k=C[s];Object.keys(O).forEach((function(t){var e=[st,nt].indexOf(t)>=0?1:-1,i=[it,nt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function Zt(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?lt:l,h=Yt(n),d=h?a?at:at.filter((function(t){return Yt(t)===h})):rt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=Gt(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[gt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}var Jt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=gt(g),b=l||(_!==g&&p?function(t){if("auto"===gt(t))return[];var e=Wt(t);return[zt(t),e,zt(e)]}(g):[Wt(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat("auto"===gt(i)?Zt(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,A=!0,T=v[0],O=0;O=0,D=x?"width":"height",S=Gt(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=x?L?st:ot:L?nt:it;y[D]>w[D]&&(I=Wt(I));var N=Wt(I),j=[];if(o&&j.push(S[k]<=0),a&&j.push(S[I]<=0,S[N]<=0),j.every((function(t){return t}))){T=C,A=!1;break}E.set(C,j)}if(A)for(var M=function(t){var e=v.find((function(e){var i=E.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},P=p?3:1;P>0&&"break"!==M(P);P--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function te(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ee(t){return[it,st,nt,ot].some((function(e){return t[e]>=0}))}var ie={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=Gt(e,{elementContext:"reference"}),a=Gt(e,{altBoundary:!0}),l=te(r,n),c=te(a,s,o),h=ee(l),d=ee(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},ne={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=lt.reduce((function(t,i){return t[i]=function(t,e,i){var n=gt(t),s=[ot,it].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[ot,st].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},se={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=Qt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},oe={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=Gt(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=gt(e.placement),b=Yt(e.placement),v=!b,y=Ct(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,A=e.rects.reference,T=e.rects.popper,O="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C={x:0,y:0};if(E){if(o||a){var k="y"===y?it:ot,L="y"===y?nt:st,x="y"===y?"height":"width",D=E[y],S=E[y]+g[k],I=E[y]-g[L],N=f?-T[x]/2:0,j="start"===b?A[x]:T[x],M="start"===b?-T[x]:-A[x],P=e.elements.arrow,H=f&&P?bt(P):{width:0,height:0},R=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},B=R[k],W=R[L],q=Dt(0,A[x],H[x]),z=v?A[x]/2-N-q-B-O:j-q-B-O,$=v?-A[x]/2+N+q+W+O:M+q+W+O,U=e.elements.arrow&&Ot(e.elements.arrow),F=U?"y"===y?U.clientTop||0:U.clientLeft||0:0,V=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K=E[y]+z-V-F,X=E[y]+$-V;if(o){var Y=Dt(f?Lt(S,K):S,D,f?kt(I,X):I);E[y]=Y,C[y]=Y-D}if(a){var Q="x"===y?it:ot,G="x"===y?nt:st,Z=E[w],J=Z+g[Q],tt=Z-g[G],et=Dt(f?Lt(J,K):J,Z,f?kt(tt,X):tt);E[w]=et,C[w]=et-Z}}e.modifiersData[n]=C}},requiresIfExists:["offset"]};function re(t,e,i){void 0===i&&(i=!1);var n,s,o=Et(e),r=_t(t),a=ft(e),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(a||!a&&!i)&&(("body"!==ht(e)||Ft(o))&&(l=(n=e)!==dt(n)&&ft(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:$t(n)),ft(e)?((c=_t(e)).x+=e.clientLeft,c.y+=e.clientTop):o&&(c.x=Ut(o))),{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}var ae={placement:"bottom",modifiers:[],strategy:"absolute"};function le(){for(var t=arguments.length,e=new Array(t),i=0;i"applyStyles"===t.name&&!1===t.enabled);this._popper=ue(e,this._menu,i),n&&U.setDataAttribute(this._menu,"popper","static")}"ontouchstart"in document.documentElement&&!t.closest(".navbar-nav")&&[].concat(...document.body.children).forEach(t=>P.on(t,"mouseover",u)),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),P.trigger(this._element,"shown.bs.dropdown",e)}}hide(){if(h(this._element)||!this._menu.classList.contains("show"))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_addEventListeners(){P.on(this._element,"click.bs.dropdown",t=>{t.preventDefault(),this.toggle()})}_completeHide(t){P.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>P.off(t,"mouseover",u)),this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),U.removeDataAttribute(this._menu,"popper"),P.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...U.getDataAttributes(this._element),...t},l("dropdown",t,this.constructor.DefaultType),"object"==typeof t.reference&&!r(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError("dropdown".toUpperCase()+': Option "reference" provided type "object" without a required "getBoundingClientRect" method.');return t}_getMenuElement(){return t.next(this._element,".dropdown-menu")[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ve;if(t.classList.contains("dropstart"))return ye;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ge:me:e?be:_e}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:e,target:i}){const n=t.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(c);n.length&&y(n,i,"ArrowDown"===e,!n.includes(i)).focus()}static dropdownInterface(t,e){const i=Ae.getOrCreateInstance(t,e);if("string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){Ae.dropdownInterface(this,t)}))}static clearMenus(e){if(e&&(2===e.button||"keyup"===e.type&&"Tab"!==e.key))return;const i=t.find('[data-bs-toggle="dropdown"]');for(let t=0,n=i.length;tthis.matches('[data-bs-toggle="dropdown"]')?this:t.prev(this,'[data-bs-toggle="dropdown"]')[0];return"Escape"===e.key?(n().focus(),void Ae.clearMenus()):"ArrowUp"===e.key||"ArrowDown"===e.key?(i||n().click(),void Ae.getInstance(n())._selectMenuItem(e)):void(i&&"Space"!==e.key||Ae.clearMenus())}}P.on(document,"keydown.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',Ae.dataApiKeydownHandler),P.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",Ae.dataApiKeydownHandler),P.on(document,"click.bs.dropdown.data-api",Ae.clearMenus),P.on(document,"keyup.bs.dropdown.data-api",Ae.clearMenus),P.on(document,"click.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',(function(t){t.preventDefault(),Ae.dropdownInterface(this)})),_(Ae);class Te{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"paddingRight",e=>e+t),this._setElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight",e=>e+t),this._setElementAttributes(".sticky-top","marginRight",e=>e-t)}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t)[e];t.style[e]=i(Number.parseFloat(s))+"px"})}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight"),this._resetElementAttributes(".sticky-top","marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const i=U.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]=i)})}_applyManipulationCallback(e,i){r(e)?i(e):t.find(e,this._element).forEach(i)}isOverflowing(){return this.getWidth()>0}}const Oe={isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},Ce={isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"};class ke{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&f(this._getElement()),this._getElement().classList.add("show"),this._emulateAnimation(()=>{b(t)})):b(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),b(t)})):b(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className="modal-backdrop",this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...Oe,..."object"==typeof t?t:{}}).rootElement=a(t.rootElement),l("backdrop",t,Ce),t}_append(){this._isAppended||(this._config.rootElement.appendChild(this._getElement()),P.on(this._getElement(),"mousedown.bs.backdrop",()=>{b(this._config.clickCallback)}),this._isAppended=!0)}dispose(){this._isAppended&&(P.off(this._element,"mousedown.bs.backdrop"),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){v(t,this._getElement(),this._config.isAnimated)}}const Le={backdrop:!0,keyboard:!0,focus:!0},xe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"};class De extends B{constructor(e,i){super(e),this._config=this._getConfig(i),this._dialog=t.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new Te}static get Default(){return Le}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,"show.bs.modal",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add("modal-open"),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),P.on(this._element,"click.dismiss.bs.modal",'[data-bs-dismiss="modal"]',t=>this.hide(t)),P.on(this._dialog,"mousedown.dismiss.bs.modal",()=>{P.one(this._element,"mouseup.dismiss.bs.modal",t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showBackdrop(()=>this._showElement(t)))}hide(t){if(t&&["A","AREA"].includes(t.target.tagName)&&t.preventDefault(),!this._isShown||this._isTransitioning)return;if(P.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const e=this._isAnimated();e&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),P.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),P.off(this._element,"click.dismiss.bs.modal"),P.off(this._dialog,"mousedown.dismiss.bs.modal"),this._queueCallback(()=>this._hideModal(),this._element,e)}dispose(){[window,this._dialog].forEach(t=>P.off(t,".bs.modal")),this._backdrop.dispose(),super.dispose(),P.off(document,"focusin.bs.modal")}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new ke({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_getConfig(t){return t={...Le,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("modal",t,xe),t}_showElement(e){const i=this._isAnimated(),n=t.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,n&&(n.scrollTop=0),i&&f(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus(),this._queueCallback(()=>{this._config.focus&&this._element.focus(),this._isTransitioning=!1,P.trigger(this._element,"shown.bs.modal",{relatedTarget:e})},this._dialog,i)}_enforceFocus(){P.off(document,"focusin.bs.modal"),P.on(document,"focusin.bs.modal",t=>{document===t.target||this._element===t.target||this._element.contains(t.target)||this._element.focus()})}_setEscapeEvent(){this._isShown?P.on(this._element,"keydown.dismiss.bs.modal",t=>{this._config.keyboard&&"Escape"===t.key?(t.preventDefault(),this.hide()):this._config.keyboard||"Escape"!==t.key||this._triggerBackdropTransition()}):P.off(this._element,"keydown.dismiss.bs.modal")}_setResizeEvent(){this._isShown?P.on(window,"resize.bs.modal",()=>this._adjustDialog()):P.off(window,"resize.bs.modal")}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove("modal-open"),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,"hidden.bs.modal")})}_showBackdrop(t){P.on(this._element,"click.dismiss.bs.modal",t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())}),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,n=e>document.documentElement.clientHeight;!n&&"hidden"===i.overflowY||t.contains("modal-static")||(n||(i.overflowY="hidden"),t.add("modal-static"),this._queueCallback(()=>{t.remove("modal-static"),n||this._queueCallback(()=>{i.overflowY=""},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!g()||i&&!t&&g())&&(this._element.style.paddingLeft=e+"px"),(i&&!t&&!g()||!i&&t&&g())&&(this._element.style.paddingRight=e+"px")}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=De.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}P.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=s(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,"show.bs.modal",t=>{t.defaultPrevented||P.one(e,"hidden.bs.modal",()=>{c(this)&&this.focus()})}),De.getOrCreateInstance(e).toggle(this)})),_(De);const Se={backdrop:!0,keyboard:!0,scroll:!1},Ie={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"};class Ne extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._addEventListeners()}static get NAME(){return"offcanvas"}static get Default(){return Se}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||((new Te).hide(),this._enforceFocusOnElement(this._element)),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("show"),this._queueCallback(()=>{P.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(P.off(document,"focusin.bs.offcanvas"),this._element.blur(),this._isShown=!1,this._element.classList.remove("show"),this._backdrop.hide(),this._queueCallback(()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new Te).reset(),P.trigger(this._element,"hidden.bs.offcanvas")},this._element,!0)))}dispose(){this._backdrop.dispose(),super.dispose(),P.off(document,"focusin.bs.offcanvas")}_getConfig(t){return t={...Se,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("offcanvas",t,Ie),t}_initializeBackDrop(){return new ke({isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_enforceFocusOnElement(t){P.off(document,"focusin.bs.offcanvas"),P.on(document,"focusin.bs.offcanvas",e=>{document===e.target||t===e.target||t.contains(e.target)||t.focus()}),t.focus()}_addEventListeners(){P.on(this._element,"click.dismiss.bs.offcanvas",'[data-bs-dismiss="offcanvas"]',()=>this.hide()),P.on(this._element,"keydown.dismiss.bs.offcanvas",t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()})}static jQueryInterface(t){return this.each((function(){const e=Ne.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}P.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(e){const i=s(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),h(this))return;P.one(i,"hidden.bs.offcanvas",()=>{c(this)&&this.focus()});const n=t.findOne(".offcanvas.show");n&&n!==i&&Ne.getInstance(n).hide(),Ne.getOrCreateInstance(i).toggle(this)})),P.on(window,"load.bs.offcanvas.data-api",()=>t.find(".offcanvas.show").forEach(t=>Ne.getOrCreateInstance(t).show())),_(Ne);const je=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Me=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i,Pe=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,He=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!je.has(i)||Boolean(Me.test(t.nodeValue)||Pe.test(t.nodeValue));const n=e.filter(t=>t instanceof RegExp);for(let t=0,e=n.length;t{He(t,a)||i.removeAttribute(t.nodeName)})}return n.body.innerHTML}const Be=new RegExp("(^|\\s)bs-tooltip\\S+","g"),We=new Set(["sanitize","allowList","sanitizeFn"]),qe={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},ze={AUTO:"auto",TOP:"top",RIGHT:g()?"left":"right",BOTTOM:"bottom",LEFT:g()?"right":"left"},$e={animation:!0,template:'',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},Ue={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"};class Fe extends B{constructor(t,e){if(void 0===fe)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return $e}static get NAME(){return"tooltip"}static get Event(){return Ue}static get DefaultType(){return qe}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.remove(),this._popper&&this._popper.destroy(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.Event.SHOW),i=d(this._element),n=null===i?this._element.ownerDocument.documentElement.contains(this._element):i.contains(this._element);if(t.defaultPrevented||!n)return;const s=this.getTipElement(),o=e(this.constructor.NAME);s.setAttribute("id",o),this._element.setAttribute("aria-describedby",o),this.setContent(),this._config.animation&&s.classList.add("fade");const r="function"==typeof this._config.placement?this._config.placement.call(this,s,this._element):this._config.placement,a=this._getAttachment(r);this._addAttachmentClass(a);const{container:l}=this._config;R.set(s,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(l.appendChild(s),P.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=ue(this._element,s,this._getPopperConfig(a)),s.classList.add("show");const c="function"==typeof this._config.customClass?this._config.customClass():this._config.customClass;c&&s.classList.add(...c.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>{P.on(t,"mouseover",u)});const h=this.tip.classList.contains("fade");this._queueCallback(()=>{const t=this._hoverState;this._hoverState=null,P.trigger(this._element,this.constructor.Event.SHOWN),"out"===t&&this._leave(null,this)},this.tip,h)}hide(){if(!this._popper)return;const t=this.getTipElement();if(P.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove("show"),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>P.off(t,"mouseover",u)),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains("fade");this._queueCallback(()=>{this._isWithActiveTrigger()||("show"!==this._hoverState&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.Event.HIDDEN),this._popper&&(this._popper.destroy(),this._popper=null))},this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");return t.innerHTML=this._config.template,this.tip=t.children[0],this.tip}setContent(){const e=this.getTipElement();this.setElementContent(t.findOne(".tooltip-inner",e),this.getTitle()),e.classList.remove("fade","show")}setElementContent(t,e){if(null!==t)return r(e)?(e=a(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Re(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){let t=this._element.getAttribute("data-bs-original-title");return t||(t="function"==typeof this._config.title?this._config.title.call(this._element):this._config.title),t}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){const i=this.constructor.DATA_KEY;return(e=e||R.get(t.delegateTarget,i))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),R.set(t.delegateTarget,i,e)),e}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add("bs-tooltip-"+this.updateAttachment(t))}_getAttachment(t){return ze[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach(t=>{if("click"===t)P.on(this._element,this.constructor.Event.CLICK,this._config.selector,t=>this.toggle(t));else if("manual"!==t){const e="hover"===t?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i="hover"===t?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;P.on(this._element,e,this._config.selector,t=>this._enter(t)),P.on(this._element,i,this._config.selector,t=>this._leave(t))}}),this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e._config.delay&&e._config.delay.show?e._timeout=setTimeout(()=>{"show"===e._hoverState&&e.show()},e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e._config.delay&&e._config.delay.hide?e._timeout=setTimeout(()=>{"out"===e._hoverState&&e.hide()},e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=U.getDataAttributes(this._element);return Object.keys(e).forEach(t=>{We.has(t)&&delete e[t]}),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:a(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l("tooltip",t,this.constructor.DefaultType),t.sanitize&&(t.template=Re(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};if(this._config)for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(Be);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}static jQueryInterface(t){return this.each((function(){const e=Fe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}_(Fe);const Ve=new RegExp("(^|\\s)bs-popover\\S+","g"),Ke={...Fe.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},Xe={...Fe.DefaultType,content:"(string|element|function)"},Ye={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class Qe extends Fe{static get Default(){return Ke}static get NAME(){return"popover"}static get Event(){return Ye}static get DefaultType(){return Xe}isWithContent(){return this.getTitle()||this._getContent()}getTipElement(){return this.tip||(this.tip=super.getTipElement(),this.getTitle()||t.findOne(".popover-header",this.tip).remove(),this._getContent()||t.findOne(".popover-body",this.tip).remove()),this.tip}setContent(){const e=this.getTipElement();this.setElementContent(t.findOne(".popover-header",e),this.getTitle());let i=this._getContent();"function"==typeof i&&(i=i.call(this._element)),this.setElementContent(t.findOne(".popover-body",e),i),e.classList.remove("fade","show")}_addAttachmentClass(t){this.getTipElement().classList.add("bs-popover-"+this.updateAttachment(t))}_getContent(){return this._element.getAttribute("data-bs-content")||this._config.content}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(Ve);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}static jQueryInterface(t){return this.each((function(){const e=Qe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}_(Qe);const Ge={offset:10,method:"auto",target:""},Ze={offset:"number",method:"string",target:"(string|element)"};class Je extends B{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._selector=`${this._config.target} .nav-link, ${this._config.target} .list-group-item, ${this._config.target} .dropdown-item`,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,P.on(this._scrollElement,"scroll.bs.scrollspy",()=>this._process()),this.refresh(),this._process()}static get Default(){return Ge}static get NAME(){return"scrollspy"}refresh(){const e=this._scrollElement===this._scrollElement.window?"offset":"position",i="auto"===this._config.method?e:this._config.method,s="position"===i?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.find(this._selector).map(e=>{const o=n(e),r=o?t.findOne(o):null;if(r){const t=r.getBoundingClientRect();if(t.width||t.height)return[U[i](r).top+s,o]}return null}).filter(t=>t).sort((t,e)=>t[0]-e[0]).forEach(t=>{this._offsets.push(t[0]),this._targets.push(t[1])})}dispose(){P.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){if("string"!=typeof(t={...Ge,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target&&r(t.target)){let{id:i}=t.target;i||(i=e("scrollspy"),t.target.id=i),t.target="#"+i}return l("scrollspy",t,Ze),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t`${t}[data-bs-target="${e}"],${t}[href="${e}"]`),n=t.findOne(i.join(","));n.classList.contains("dropdown-item")?(t.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),t.parents(n,".nav, .list-group").forEach(e=>{t.prev(e,".nav-link, .list-group-item").forEach(t=>t.classList.add("active")),t.prev(e,".nav-item").forEach(e=>{t.children(e,".nav-link").forEach(t=>t.classList.add("active"))})})),P.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:e})}_clear(){t.find(this._selector).filter(t=>t.classList.contains("active")).forEach(t=>t.classList.remove("active"))}static jQueryInterface(t){return this.each((function(){const e=Je.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(window,"load.bs.scrollspy.data-api",()=>{t.find('[data-bs-spy="scroll"]').forEach(t=>new Je(t))}),_(Je);class ti extends B{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active"))return;let e;const i=s(this._element),n=this._element.closest(".nav, .list-group");if(n){const i="UL"===n.nodeName||"OL"===n.nodeName?":scope > li > .active":".active";e=t.find(i,n),e=e[e.length-1]}const o=e?P.trigger(e,"hide.bs.tab",{relatedTarget:this._element}):null;if(P.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==o&&o.defaultPrevented)return;this._activate(this._element,n);const r=()=>{P.trigger(e,"hidden.bs.tab",{relatedTarget:this._element}),P.trigger(this._element,"shown.bs.tab",{relatedTarget:e})};i?this._activate(i,i.parentNode,r):r()}_activate(e,i,n){const s=(!i||"UL"!==i.nodeName&&"OL"!==i.nodeName?t.children(i,".active"):t.find(":scope > li > .active",i))[0],o=n&&s&&s.classList.contains("fade"),r=()=>this._transitionComplete(e,s,n);s&&o?(s.classList.remove("show"),this._queueCallback(r,e,!0)):r()}_transitionComplete(e,i,n){if(i){i.classList.remove("active");const e=t.findOne(":scope > .dropdown-menu .active",i.parentNode);e&&e.classList.remove("active"),"tab"===i.getAttribute("role")&&i.setAttribute("aria-selected",!1)}e.classList.add("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),f(e),e.classList.contains("fade")&&e.classList.add("show");let s=e.parentNode;if(s&&"LI"===s.nodeName&&(s=s.parentNode),s&&s.classList.contains("dropdown-menu")){const i=e.closest(".dropdown");i&&t.find(".dropdown-toggle",i).forEach(t=>t.classList.add("active")),e.setAttribute("aria-expanded",!0)}n&&n()}static jQueryInterface(t){return this.each((function(){const e=ti.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),h(this)||ti.getOrCreateInstance(this).show()})),_(ti);const ei={animation:"boolean",autohide:"boolean",delay:"number"},ii={animation:!0,autohide:!0,delay:5e3};class ni extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return ei}static get Default(){return ii}static get NAME(){return"toast"}show(){P.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),f(this._element),this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),this._element.classList.add("show"),P.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this._element.classList.contains("show")&&(P.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.remove("show"),this._queueCallback(()=>{this._element.classList.add("hide"),P.trigger(this._element,"hidden.bs.toast")},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),super.dispose()}_getConfig(t){return t={...ii,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},l("toast",t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,"click.dismiss.bs.toast",'[data-bs-dismiss="toast"]',()=>this.hide()),P.on(this._element,"mouseover.bs.toast",t=>this._onInteraction(t,!0)),P.on(this._element,"mouseout.bs.toast",t=>this._onInteraction(t,!1)),P.on(this._element,"focusin.bs.toast",t=>this._onInteraction(t,!0)),P.on(this._element,"focusout.bs.toast",t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return _(ni),{Alert:W,Button:q,Carousel:Z,Collapse:et,Dropdown:Ae,Modal:De,Offcanvas:Ne,Popover:Qe,ScrollSpy:Je,Tab:ti,Toast:ni,Tooltip:Fe}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/static/js/library/bootstrap.min.js b/themes/adritian-free-hugo-theme/static/js/library/bootstrap.min.js new file mode 100644 index 0000000..aed031f --- /dev/null +++ b/themes/adritian-free-hugo-theme/static/js/library/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.0.2 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(s){if("default"!==s){var i=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,i.get?i:{enumerable:!0,get:function(){return t[s]}})}})),e.default=t,Object.freeze(e)}var s=e(t);const i={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const s=[];let i=t.parentNode;for(;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)i.matches(e)&&s.push(i),i=i.parentNode;return s},prev(t,e){let s=t.previousElementSibling;for(;s;){if(s.matches(e))return[s];s=s.previousElementSibling}return[]},next(t,e){let s=t.nextElementSibling;for(;s;){if(s.matches(e))return[s];s=s.nextElementSibling}return[]}},n=t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},o=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let s=t.getAttribute("href");if(!s||!s.includes("#")&&!s.startsWith("."))return null;s.includes("#")&&!s.startsWith("#")&&(s="#"+s.split("#")[1]),e=s&&"#"!==s?s.trim():null}return e},r=t=>{const e=o(t);return e&&document.querySelector(e)?e:null},a=t=>{const e=o(t);return e?document.querySelector(e):null},l=t=>{t.dispatchEvent(new Event("transitionend"))},c=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),h=t=>c(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?i.findOne(t):null,d=(t,e,s)=>{Object.keys(s).forEach(i=>{const n=s[i],o=e[i],r=o&&c(o)?"element":null==(a=o)?""+a:{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase();var a;if(!new RegExp(n).test(r))throw new TypeError(`${t.toUpperCase()}: Option "${i}" provided type "${r}" but expected type "${n}".`)})},u=t=>!(!c(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),g=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),p=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?p(t.parentNode):null},f=()=>{},m=t=>t.offsetHeight,_=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},b=[],v=()=>"rtl"===document.documentElement.dir,y=t=>{var e;e=()=>{const e=_();if(e){const s=t.NAME,i=e.fn[s];e.fn[s]=t.jQueryInterface,e.fn[s].Constructor=t,e.fn[s].noConflict=()=>(e.fn[s]=i,t.jQueryInterface)}},"loading"===document.readyState?(b.length||document.addEventListener("DOMContentLoaded",()=>{b.forEach(t=>t())}),b.push(e)):e()},w=t=>{"function"==typeof t&&t()},E=(t,e,s=!0)=>{if(!s)return void w(t);const i=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:s}=window.getComputedStyle(t);const i=Number.parseFloat(e),n=Number.parseFloat(s);return i||n?(e=e.split(",")[0],s=s.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(s))):0})(e)+5;let n=!1;const o=({target:s})=>{s===e&&(n=!0,e.removeEventListener("transitionend",o),w(t))};e.addEventListener("transitionend",o),setTimeout(()=>{n||l(e)},i)},A=(t,e,s,i)=>{let n=t.indexOf(e);if(-1===n)return t[!s&&i?t.length-1:0];const o=t.length;return n+=s?1:-1,i&&(n=(n+o)%o),t[Math.max(0,Math.min(n,o-1))]},T=/[^.]*(?=\..*)\.|.*/,C=/\..*/,k=/::\d+$/,L={};let O=1;const D={mouseenter:"mouseover",mouseleave:"mouseout"},I=/^(mouseenter|mouseleave)/i,N=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function S(t,e){return e&&`${e}::${O++}`||t.uidEvent||O++}function x(t){const e=S(t);return t.uidEvent=e,L[e]=L[e]||{},L[e]}function M(t,e,s=null){const i=Object.keys(t);for(let n=0,o=i.length;nfunction(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};i?i=t(i):s=t(s)}const[o,r,a]=P(e,s,i),l=x(t),c=l[a]||(l[a]={}),h=M(c,r,o?s:null);if(h)return void(h.oneOff=h.oneOff&&n);const d=S(r,e.replace(T,"")),u=o?function(t,e,s){return function i(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return n.delegateTarget=r,i.oneOff&&B.off(t,n.type,e,s),s.apply(r,[n]);return null}}(t,s,i):function(t,e){return function s(i){return i.delegateTarget=t,s.oneOff&&B.off(t,i.type,e),e.apply(t,[i])}}(t,s);u.delegationSelector=o?s:null,u.originalHandler=r,u.oneOff=n,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function H(t,e,s,i,n){const o=M(e[s],i,n);o&&(t.removeEventListener(s,o,Boolean(n)),delete e[s][o.uidEvent])}function R(t){return t=t.replace(C,""),D[t]||t}const B={on(t,e,s,i){j(t,e,s,i,!1)},one(t,e,s,i){j(t,e,s,i,!0)},off(t,e,s,i){if("string"!=typeof e||!t)return;const[n,o,r]=P(e,s,i),a=r!==e,l=x(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void H(t,l,r,o,n?s:null)}c&&Object.keys(l).forEach(s=>{!function(t,e,s,i){const n=e[s]||{};Object.keys(n).forEach(o=>{if(o.includes(i)){const i=n[o];H(t,e,s,i.originalHandler,i.delegationSelector)}})}(t,l,s,e.slice(1))});const h=l[r]||{};Object.keys(h).forEach(s=>{const i=s.replace(k,"");if(!a||e.includes(i)){const e=h[s];H(t,l,r,e.originalHandler,e.delegationSelector)}})},trigger(t,e,s){if("string"!=typeof e||!t)return null;const i=_(),n=R(e),o=e!==n,r=N.has(n);let a,l=!0,c=!0,h=!1,d=null;return o&&i&&(a=i.Event(e,s),i(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(n,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==s&&Object.keys(s).forEach(t=>{Object.defineProperty(d,t,{get:()=>s[t]})}),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},$=new Map;var W={set(t,e,s){$.has(t)||$.set(t,new Map);const i=$.get(t);i.has(e)||0===i.size?i.set(e,s):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`)},get:(t,e)=>$.has(t)&&$.get(t).get(e)||null,remove(t,e){if(!$.has(t))return;const s=$.get(t);s.delete(e),0===s.size&&$.delete(t)}};class q{constructor(t){(t=h(t))&&(this._element=t,W.set(this._element,this.constructor.DATA_KEY,this))}dispose(){W.remove(this._element,this.constructor.DATA_KEY),B.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach(t=>{this[t]=null})}_queueCallback(t,e,s=!0){E(t,e,s)}static getInstance(t){return W.get(t,this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.0.2"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return"bs."+this.NAME}static get EVENT_KEY(){return"."+this.DATA_KEY}}class z extends q{static get NAME(){return"alert"}close(t){const e=t?this._getRootElement(t):this._element,s=this._triggerCloseEvent(e);null===s||s.defaultPrevented||this._removeElement(e)}_getRootElement(t){return a(t)||t.closest(".alert")}_triggerCloseEvent(t){return B.trigger(t,"close.bs.alert")}_removeElement(t){t.classList.remove("show");const e=t.classList.contains("fade");this._queueCallback(()=>this._destroyElement(t),t,e)}_destroyElement(t){t.remove(),B.trigger(t,"closed.bs.alert")}static jQueryInterface(t){return this.each((function(){const e=z.getOrCreateInstance(this);"close"===t&&e[t](this)}))}static handleDismiss(t){return function(e){e&&e.preventDefault(),t.close(this)}}}B.on(document,"click.bs.alert.data-api",'[data-bs-dismiss="alert"]',z.handleDismiss(new z)),y(z);class F extends q{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=F.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function U(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function K(t){return t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}B.on(document,"click.bs.button.data-api",'[data-bs-toggle="button"]',t=>{t.preventDefault();const e=t.target.closest('[data-bs-toggle="button"]');F.getOrCreateInstance(e).toggle()}),y(F);const V={setDataAttribute(t,e,s){t.setAttribute("data-bs-"+K(e),s)},removeDataAttribute(t,e){t.removeAttribute("data-bs-"+K(e))},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter(t=>t.startsWith("bs")).forEach(s=>{let i=s.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=U(t.dataset[s])}),e},getDataAttribute:(t,e)=>U(t.getAttribute("data-bs-"+K(e))),offset(t){const e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},Q={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},X={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Y="next",G="prev",Z="left",J="right",tt={ArrowLeft:J,ArrowRight:Z};class et extends q{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=i.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return Q}static get NAME(){return"carousel"}next(){this._slide(Y)}nextWhenVisible(){!document.hidden&&u(this._element)&&this.next()}prev(){this._slide(G)}pause(t){t||(this._isPaused=!0),i.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(l(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=i.findOne(".active.carousel-item",this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void B.one(this._element,"slid.bs.carousel",()=>this.to(t));if(e===t)return this.pause(),void this.cycle();const s=t>e?Y:G;this._slide(s,this._items[t])}_getConfig(t){return t={...Q,...V.getDataAttributes(this._element),..."object"==typeof t?t:{}},d("carousel",t,X),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?J:Z)}_addEventListeners(){this._config.keyboard&&B.on(this._element,"keydown.bs.carousel",t=>this._keydown(t)),"hover"===this._config.pause&&(B.on(this._element,"mouseenter.bs.carousel",t=>this.pause(t)),B.on(this._element,"mouseleave.bs.carousel",t=>this.cycle(t))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType?this._pointerEvent||(this.touchStartX=t.touches[0].clientX):this.touchStartX=t.clientX},e=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},s=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType||(this.touchDeltaX=t.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(t=>this.cycle(t),500+this._config.interval))};i.find(".carousel-item img",this._element).forEach(t=>{B.on(t,"dragstart.bs.carousel",t=>t.preventDefault())}),this._pointerEvent?(B.on(this._element,"pointerdown.bs.carousel",e=>t(e)),B.on(this._element,"pointerup.bs.carousel",t=>s(t)),this._element.classList.add("pointer-event")):(B.on(this._element,"touchstart.bs.carousel",e=>t(e)),B.on(this._element,"touchmove.bs.carousel",t=>e(t)),B.on(this._element,"touchend.bs.carousel",t=>s(t)))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=tt[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?i.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const s=t===Y;return A(this._items,e,s,this._config.wrap)}_triggerSlideEvent(t,e){const s=this._getItemIndex(t),n=this._getItemIndex(i.findOne(".active.carousel-item",this._element));return B.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:n,to:s})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=i.findOne(".active",this._indicatorsElement);e.classList.remove("active"),e.removeAttribute("aria-current");const s=i.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e{B.trigger(this._element,"slid.bs.carousel",{relatedTarget:r,direction:u,from:o,to:a})};if(this._element.classList.contains("slide")){r.classList.add(d),m(r),n.classList.add(h),r.classList.add(h);const t=()=>{r.classList.remove(h,d),r.classList.add("active"),n.classList.remove("active",d,h),this._isSliding=!1,setTimeout(g,0)};this._queueCallback(t,n,!0)}else n.classList.remove("active"),r.classList.add("active"),this._isSliding=!1,g();l&&this.cycle()}_directionToOrder(t){return[J,Z].includes(t)?v()?t===Z?G:Y:t===Z?Y:G:t}_orderToDirection(t){return[Y,G].includes(t)?v()?t===G?Z:J:t===G?J:Z:t}static carouselInterface(t,e){const s=et.getOrCreateInstance(t,e);let{_config:i}=s;"object"==typeof e&&(i={...i,...e});const n="string"==typeof e?e:i.slide;if("number"==typeof e)s.to(e);else if("string"==typeof n){if(void 0===s[n])throw new TypeError(`No method named "${n}"`);s[n]()}else i.interval&&i.ride&&(s.pause(),s.cycle())}static jQueryInterface(t){return this.each((function(){et.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=a(this);if(!e||!e.classList.contains("carousel"))return;const s={...V.getDataAttributes(e),...V.getDataAttributes(this)},i=this.getAttribute("data-bs-slide-to");i&&(s.interval=!1),et.carouselInterface(e,s),i&&et.getInstance(e).to(i),t.preventDefault()}}B.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",et.dataApiClickHandler),B.on(window,"load.bs.carousel.data-api",()=>{const t=i.find('[data-bs-ride="carousel"]');for(let e=0,s=t.length;et===this._element);null!==n&&o.length&&(this._selector=n,this._triggerArray.push(e))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}static get Default(){return st}static get NAME(){return"collapse"}toggle(){this._element.classList.contains("show")?this.hide():this.show()}show(){if(this._isTransitioning||this._element.classList.contains("show"))return;let t,e;this._parent&&(t=i.find(".show, .collapsing",this._parent).filter(t=>"string"==typeof this._config.parent?t.getAttribute("data-bs-parent")===this._config.parent:t.classList.contains("collapse")),0===t.length&&(t=null));const s=i.findOne(this._selector);if(t){const i=t.find(t=>s!==t);if(e=i?nt.getInstance(i):null,e&&e._isTransitioning)return}if(B.trigger(this._element,"show.bs.collapse").defaultPrevented)return;t&&t.forEach(t=>{s!==t&&nt.collapseInterface(t,"hide"),e||W.set(t,"bs.collapse",null)});const n=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[n]=0,this._triggerArray.length&&this._triggerArray.forEach(t=>{t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)}),this.setTransitioning(!0);const o="scroll"+(n[0].toUpperCase()+n.slice(1));this._queueCallback(()=>{this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[n]="",this.setTransitioning(!1),B.trigger(this._element,"shown.bs.collapse")},this._element,!0),this._element.style[n]=this._element[o]+"px"}hide(){if(this._isTransitioning||!this._element.classList.contains("show"))return;if(B.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",m(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");const e=this._triggerArray.length;if(e>0)for(let t=0;t{this.setTransitioning(!1),this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),B.trigger(this._element,"hidden.bs.collapse")},this._element,!0)}setTransitioning(t){this._isTransitioning=t}_getConfig(t){return(t={...st,...t}).toggle=Boolean(t.toggle),d("collapse",t,it),t}_getDimension(){return this._element.classList.contains("width")?"width":"height"}_getParent(){let{parent:t}=this._config;t=h(t);const e=`[data-bs-toggle="collapse"][data-bs-parent="${t}"]`;return i.find(e,t).forEach(t=>{const e=a(t);this._addAriaAndCollapsedClass(e,[t])}),t}_addAriaAndCollapsedClass(t,e){if(!t||!e.length)return;const s=t.classList.contains("show");e.forEach(t=>{s?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",s)})}static collapseInterface(t,e){let s=nt.getInstance(t);const i={...st,...V.getDataAttributes(t),..."object"==typeof e&&e?e:{}};if(!s&&i.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(i.toggle=!1),s||(s=new nt(t,i)),"string"==typeof e){if(void 0===s[e])throw new TypeError(`No method named "${e}"`);s[e]()}}static jQueryInterface(t){return this.each((function(){nt.collapseInterface(this,t)}))}}B.on(document,"click.bs.collapse.data-api",'[data-bs-toggle="collapse"]',(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=V.getDataAttributes(this),s=r(this);i.find(s).forEach(t=>{const s=nt.getInstance(t);let i;s?(null===s._parent&&"string"==typeof e.parent&&(s._config.parent=e.parent,s._parent=s._getParent()),i="toggle"):i=e,nt.collapseInterface(t,i)})})),y(nt);const ot=new RegExp("ArrowUp|ArrowDown|Escape"),rt=v()?"top-end":"top-start",at=v()?"top-start":"top-end",lt=v()?"bottom-end":"bottom-start",ct=v()?"bottom-start":"bottom-end",ht=v()?"left-start":"right-start",dt=v()?"right-start":"left-start",ut={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},gt={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class pt extends q{constructor(t,e){super(t),this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}static get Default(){return ut}static get DefaultType(){return gt}static get NAME(){return"dropdown"}toggle(){g(this._element)||(this._element.classList.contains("show")?this.hide():this.show())}show(){if(g(this._element)||this._menu.classList.contains("show"))return;const t=pt.getParentFromElement(this._element),e={relatedTarget:this._element};if(!B.trigger(this._element,"show.bs.dropdown",e).defaultPrevented){if(this._inNavbar)V.setDataAttribute(this._menu,"popper","none");else{if(void 0===s)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:c(this._config.reference)?e=h(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find(t=>"applyStyles"===t.name&&!1===t.enabled);this._popper=s.createPopper(e,this._menu,i),n&&V.setDataAttribute(this._menu,"popper","static")}"ontouchstart"in document.documentElement&&!t.closest(".navbar-nav")&&[].concat(...document.body.children).forEach(t=>B.on(t,"mouseover",f)),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),B.trigger(this._element,"shown.bs.dropdown",e)}}hide(){if(g(this._element)||!this._menu.classList.contains("show"))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_addEventListeners(){B.on(this._element,"click.bs.dropdown",t=>{t.preventDefault(),this.toggle()})}_completeHide(t){B.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>B.off(t,"mouseover",f)),this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),V.removeDataAttribute(this._menu,"popper"),B.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...V.getDataAttributes(this._element),...t},d("dropdown",t,this.constructor.DefaultType),"object"==typeof t.reference&&!c(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError("dropdown".toUpperCase()+': Option "reference" provided type "object" without a required "getBoundingClientRect" method.');return t}_getMenuElement(){return i.next(this._element,".dropdown-menu")[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ht;if(t.classList.contains("dropstart"))return dt;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?at:rt:e?ct:lt}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const s=i.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(u);s.length&&A(s,e,"ArrowDown"===t,!s.includes(e)).focus()}static dropdownInterface(t,e){const s=pt.getOrCreateInstance(t,e);if("string"==typeof e){if(void 0===s[e])throw new TypeError(`No method named "${e}"`);s[e]()}}static jQueryInterface(t){return this.each((function(){pt.dropdownInterface(this,t)}))}static clearMenus(t){if(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=i.find('[data-bs-toggle="dropdown"]');for(let s=0,i=e.length;sthis.matches('[data-bs-toggle="dropdown"]')?this:i.prev(this,'[data-bs-toggle="dropdown"]')[0];return"Escape"===t.key?(s().focus(),void pt.clearMenus()):"ArrowUp"===t.key||"ArrowDown"===t.key?(e||s().click(),void pt.getInstance(s())._selectMenuItem(t)):void(e&&"Space"!==t.key||pt.clearMenus())}}B.on(document,"keydown.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',pt.dataApiKeydownHandler),B.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",pt.dataApiKeydownHandler),B.on(document,"click.bs.dropdown.data-api",pt.clearMenus),B.on(document,"keyup.bs.dropdown.data-api",pt.clearMenus),B.on(document,"click.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',(function(t){t.preventDefault(),pt.dropdownInterface(this)})),y(pt);class ft{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"paddingRight",e=>e+t),this._setElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight",e=>e+t),this._setElementAttributes(".sticky-top","marginRight",e=>e-t)}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,s){const i=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+i)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t)[e];t.style[e]=s(Number.parseFloat(n))+"px"})}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight"),this._resetElementAttributes(".sticky-top","marginRight")}_saveInitialAttribute(t,e){const s=t.style[e];s&&V.setDataAttribute(t,e,s)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const s=V.getDataAttribute(t,e);void 0===s?t.style.removeProperty(e):(V.removeDataAttribute(t,e),t.style[e]=s)})}_applyManipulationCallback(t,e){c(t)?e(t):i.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const mt={isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},_t={isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"};class bt{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&m(this._getElement()),this._getElement().classList.add("show"),this._emulateAnimation(()=>{w(t)})):w(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),w(t)})):w(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className="modal-backdrop",this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...mt,..."object"==typeof t?t:{}}).rootElement=h(t.rootElement),d("backdrop",t,_t),t}_append(){this._isAppended||(this._config.rootElement.appendChild(this._getElement()),B.on(this._getElement(),"mousedown.bs.backdrop",()=>{w(this._config.clickCallback)}),this._isAppended=!0)}dispose(){this._isAppended&&(B.off(this._element,"mousedown.bs.backdrop"),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){E(t,this._getElement(),this._config.isAnimated)}}const vt={backdrop:!0,keyboard:!0,focus:!0},yt={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"};class wt extends q{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=i.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new ft}static get Default(){return vt}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||B.trigger(this._element,"show.bs.modal",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add("modal-open"),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),B.on(this._element,"click.dismiss.bs.modal",'[data-bs-dismiss="modal"]',t=>this.hide(t)),B.on(this._dialog,"mousedown.dismiss.bs.modal",()=>{B.one(this._element,"mouseup.dismiss.bs.modal",t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showBackdrop(()=>this._showElement(t)))}hide(t){if(t&&["A","AREA"].includes(t.target.tagName)&&t.preventDefault(),!this._isShown||this._isTransitioning)return;if(B.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const e=this._isAnimated();e&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),B.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),B.off(this._element,"click.dismiss.bs.modal"),B.off(this._dialog,"mousedown.dismiss.bs.modal"),this._queueCallback(()=>this._hideModal(),this._element,e)}dispose(){[window,this._dialog].forEach(t=>B.off(t,".bs.modal")),this._backdrop.dispose(),super.dispose(),B.off(document,"focusin.bs.modal")}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bt({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_getConfig(t){return t={...vt,...V.getDataAttributes(this._element),..."object"==typeof t?t:{}},d("modal",t,yt),t}_showElement(t){const e=this._isAnimated(),s=i.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,s&&(s.scrollTop=0),e&&m(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus(),this._queueCallback(()=>{this._config.focus&&this._element.focus(),this._isTransitioning=!1,B.trigger(this._element,"shown.bs.modal",{relatedTarget:t})},this._dialog,e)}_enforceFocus(){B.off(document,"focusin.bs.modal"),B.on(document,"focusin.bs.modal",t=>{document===t.target||this._element===t.target||this._element.contains(t.target)||this._element.focus()})}_setEscapeEvent(){this._isShown?B.on(this._element,"keydown.dismiss.bs.modal",t=>{this._config.keyboard&&"Escape"===t.key?(t.preventDefault(),this.hide()):this._config.keyboard||"Escape"!==t.key||this._triggerBackdropTransition()}):B.off(this._element,"keydown.dismiss.bs.modal")}_setResizeEvent(){this._isShown?B.on(window,"resize.bs.modal",()=>this._adjustDialog()):B.off(window,"resize.bs.modal")}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove("modal-open"),this._resetAdjustments(),this._scrollBar.reset(),B.trigger(this._element,"hidden.bs.modal")})}_showBackdrop(t){B.on(this._element,"click.dismiss.bs.modal",t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())}),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(B.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:s}=this._element,i=e>document.documentElement.clientHeight;!i&&"hidden"===s.overflowY||t.contains("modal-static")||(i||(s.overflowY="hidden"),t.add("modal-static"),this._queueCallback(()=>{t.remove("modal-static"),i||this._queueCallback(()=>{s.overflowY=""},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),s=e>0;(!s&&t&&!v()||s&&!t&&v())&&(this._element.style.paddingLeft=e+"px"),(s&&!t&&!v()||!s&&t&&v())&&(this._element.style.paddingRight=e+"px")}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const s=wt.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===s[t])throw new TypeError(`No method named "${t}"`);s[t](e)}}))}}B.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=a(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),B.one(e,"show.bs.modal",t=>{t.defaultPrevented||B.one(e,"hidden.bs.modal",()=>{u(this)&&this.focus()})}),wt.getOrCreateInstance(e).toggle(this)})),y(wt);const Et={backdrop:!0,keyboard:!0,scroll:!1},At={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"};class Tt extends q{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._addEventListeners()}static get NAME(){return"offcanvas"}static get Default(){return Et}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||B.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||((new ft).hide(),this._enforceFocusOnElement(this._element)),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("show"),this._queueCallback(()=>{B.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(B.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(B.off(document,"focusin.bs.offcanvas"),this._element.blur(),this._isShown=!1,this._element.classList.remove("show"),this._backdrop.hide(),this._queueCallback(()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new ft).reset(),B.trigger(this._element,"hidden.bs.offcanvas")},this._element,!0)))}dispose(){this._backdrop.dispose(),super.dispose(),B.off(document,"focusin.bs.offcanvas")}_getConfig(t){return t={...Et,...V.getDataAttributes(this._element),..."object"==typeof t?t:{}},d("offcanvas",t,At),t}_initializeBackDrop(){return new bt({isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_enforceFocusOnElement(t){B.off(document,"focusin.bs.offcanvas"),B.on(document,"focusin.bs.offcanvas",e=>{document===e.target||t===e.target||t.contains(e.target)||t.focus()}),t.focus()}_addEventListeners(){B.on(this._element,"click.dismiss.bs.offcanvas",'[data-bs-dismiss="offcanvas"]',()=>this.hide()),B.on(this._element,"keydown.dismiss.bs.offcanvas",t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()})}static jQueryInterface(t){return this.each((function(){const e=Tt.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}B.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=a(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),g(this))return;B.one(e,"hidden.bs.offcanvas",()=>{u(this)&&this.focus()});const s=i.findOne(".offcanvas.show");s&&s!==e&&Tt.getInstance(s).hide(),Tt.getOrCreateInstance(e).toggle(this)})),B.on(window,"load.bs.offcanvas.data-api",()=>i.find(".offcanvas.show").forEach(t=>Tt.getOrCreateInstance(t).show())),y(Tt);const Ct=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),kt=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i,Lt=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Ot=(t,e)=>{const s=t.nodeName.toLowerCase();if(e.includes(s))return!Ct.has(s)||Boolean(kt.test(t.nodeValue)||Lt.test(t.nodeValue));const i=e.filter(t=>t instanceof RegExp);for(let t=0,e=i.length;t{Ot(t,a)||s.removeAttribute(t.nodeName)})}return i.body.innerHTML}const It=new RegExp("(^|\\s)bs-tooltip\\S+","g"),Nt=new Set(["sanitize","allowList","sanitizeFn"]),St={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},xt={AUTO:"auto",TOP:"top",RIGHT:v()?"left":"right",BOTTOM:"bottom",LEFT:v()?"right":"left"},Mt={animation:!0,template:'',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},Pt={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"};class jt extends q{constructor(t,e){if(void 0===s)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return Mt}static get NAME(){return"tooltip"}static get Event(){return Pt}static get DefaultType(){return St}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),B.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.remove(),this._popper&&this._popper.destroy(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=B.trigger(this._element,this.constructor.Event.SHOW),e=p(this._element),i=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;const o=this.getTipElement(),r=n(this.constructor.NAME);o.setAttribute("id",r),this._element.setAttribute("aria-describedby",r),this.setContent(),this._config.animation&&o.classList.add("fade");const a="function"==typeof this._config.placement?this._config.placement.call(this,o,this._element):this._config.placement,l=this._getAttachment(a);this._addAttachmentClass(l);const{container:c}=this._config;W.set(o,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(c.appendChild(o),B.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=s.createPopper(this._element,o,this._getPopperConfig(l)),o.classList.add("show");const h="function"==typeof this._config.customClass?this._config.customClass():this._config.customClass;h&&o.classList.add(...h.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>{B.on(t,"mouseover",f)});const d=this.tip.classList.contains("fade");this._queueCallback(()=>{const t=this._hoverState;this._hoverState=null,B.trigger(this._element,this.constructor.Event.SHOWN),"out"===t&&this._leave(null,this)},this.tip,d)}hide(){if(!this._popper)return;const t=this.getTipElement();if(B.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove("show"),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>B.off(t,"mouseover",f)),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains("fade");this._queueCallback(()=>{this._isWithActiveTrigger()||("show"!==this._hoverState&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),B.trigger(this._element,this.constructor.Event.HIDDEN),this._popper&&(this._popper.destroy(),this._popper=null))},this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");return t.innerHTML=this._config.template,this.tip=t.children[0],this.tip}setContent(){const t=this.getTipElement();this.setElementContent(i.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")}setElementContent(t,e){if(null!==t)return c(e)?(e=h(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Dt(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){let t=this._element.getAttribute("data-bs-original-title");return t||(t="function"==typeof this._config.title?this._config.title.call(this._element):this._config.title),t}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){const s=this.constructor.DATA_KEY;return(e=e||W.get(t.delegateTarget,s))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),W.set(t.delegateTarget,s,e)),e}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add("bs-tooltip-"+this.updateAttachment(t))}_getAttachment(t){return xt[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach(t=>{if("click"===t)B.on(this._element,this.constructor.Event.CLICK,this._config.selector,t=>this.toggle(t));else if("manual"!==t){const e="hover"===t?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,s="hover"===t?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;B.on(this._element,e,this._config.selector,t=>this._enter(t)),B.on(this._element,s,this._config.selector,t=>this._leave(t))}}),this._hideModalHandler=()=>{this._element&&this.hide()},B.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e._config.delay&&e._config.delay.show?e._timeout=setTimeout(()=>{"show"===e._hoverState&&e.show()},e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e._config.delay&&e._config.delay.hide?e._timeout=setTimeout(()=>{"out"===e._hoverState&&e.hide()},e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=V.getDataAttributes(this._element);return Object.keys(e).forEach(t=>{Nt.has(t)&&delete e[t]}),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:h(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),d("tooltip",t,this.constructor.DefaultType),t.sanitize&&(t.template=Dt(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};if(this._config)for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(It);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}static jQueryInterface(t){return this.each((function(){const e=jt.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}y(jt);const Ht=new RegExp("(^|\\s)bs-popover\\S+","g"),Rt={...jt.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},Bt={...jt.DefaultType,content:"(string|element|function)"},$t={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class Wt extends jt{static get Default(){return Rt}static get NAME(){return"popover"}static get Event(){return $t}static get DefaultType(){return Bt}isWithContent(){return this.getTitle()||this._getContent()}getTipElement(){return this.tip||(this.tip=super.getTipElement(),this.getTitle()||i.findOne(".popover-header",this.tip).remove(),this._getContent()||i.findOne(".popover-body",this.tip).remove()),this.tip}setContent(){const t=this.getTipElement();this.setElementContent(i.findOne(".popover-header",t),this.getTitle());let e=this._getContent();"function"==typeof e&&(e=e.call(this._element)),this.setElementContent(i.findOne(".popover-body",t),e),t.classList.remove("fade","show")}_addAttachmentClass(t){this.getTipElement().classList.add("bs-popover-"+this.updateAttachment(t))}_getContent(){return this._element.getAttribute("data-bs-content")||this._config.content}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(Ht);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}static jQueryInterface(t){return this.each((function(){const e=Wt.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}y(Wt);const qt={offset:10,method:"auto",target:""},zt={offset:"number",method:"string",target:"(string|element)"};class Ft extends q{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._selector=`${this._config.target} .nav-link, ${this._config.target} .list-group-item, ${this._config.target} .dropdown-item`,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,B.on(this._scrollElement,"scroll.bs.scrollspy",()=>this._process()),this.refresh(),this._process()}static get Default(){return qt}static get NAME(){return"scrollspy"}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":"position",e="auto"===this._config.method?t:this._config.method,s="position"===e?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),i.find(this._selector).map(t=>{const n=r(t),o=n?i.findOne(n):null;if(o){const t=o.getBoundingClientRect();if(t.width||t.height)return[V[e](o).top+s,n]}return null}).filter(t=>t).sort((t,e)=>t[0]-e[0]).forEach(t=>{this._offsets.push(t[0]),this._targets.push(t[1])})}dispose(){B.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){if("string"!=typeof(t={...qt,...V.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target&&c(t.target)){let{id:e}=t.target;e||(e=n("scrollspy"),t.target.id=e),t.target="#"+e}return d("scrollspy",t,zt),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),s=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=s){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t`${e}[data-bs-target="${t}"],${e}[href="${t}"]`),s=i.findOne(e.join(","));s.classList.contains("dropdown-item")?(i.findOne(".dropdown-toggle",s.closest(".dropdown")).classList.add("active"),s.classList.add("active")):(s.classList.add("active"),i.parents(s,".nav, .list-group").forEach(t=>{i.prev(t,".nav-link, .list-group-item").forEach(t=>t.classList.add("active")),i.prev(t,".nav-item").forEach(t=>{i.children(t,".nav-link").forEach(t=>t.classList.add("active"))})})),B.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){i.find(this._selector).filter(t=>t.classList.contains("active")).forEach(t=>t.classList.remove("active"))}static jQueryInterface(t){return this.each((function(){const e=Ft.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}B.on(window,"load.bs.scrollspy.data-api",()=>{i.find('[data-bs-spy="scroll"]').forEach(t=>new Ft(t))}),y(Ft);class Ut extends q{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active"))return;let t;const e=a(this._element),s=this._element.closest(".nav, .list-group");if(s){const e="UL"===s.nodeName||"OL"===s.nodeName?":scope > li > .active":".active";t=i.find(e,s),t=t[t.length-1]}const n=t?B.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if(B.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==n&&n.defaultPrevented)return;this._activate(this._element,s);const o=()=>{B.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),B.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,s){const n=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?i.children(e,".active"):i.find(":scope > li > .active",e))[0],o=s&&n&&n.classList.contains("fade"),r=()=>this._transitionComplete(t,n,s);n&&o?(n.classList.remove("show"),this._queueCallback(r,t,!0)):r()}_transitionComplete(t,e,s){if(e){e.classList.remove("active");const t=i.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),m(t),t.classList.contains("fade")&&t.classList.add("show");let n=t.parentNode;if(n&&"LI"===n.nodeName&&(n=n.parentNode),n&&n.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&i.find(".dropdown-toggle",e).forEach(t=>t.classList.add("active")),t.setAttribute("aria-expanded",!0)}s&&s()}static jQueryInterface(t){return this.each((function(){const e=Ut.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}B.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),g(this)||Ut.getOrCreateInstance(this).show()})),y(Ut);const Kt={animation:"boolean",autohide:"boolean",delay:"number"},Vt={animation:!0,autohide:!0,delay:5e3};class Qt extends q{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return Kt}static get Default(){return Vt}static get NAME(){return"toast"}show(){B.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),m(this._element),this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),this._element.classList.add("show"),B.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this._element.classList.contains("show")&&(B.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.remove("show"),this._queueCallback(()=>{this._element.classList.add("hide"),B.trigger(this._element,"hidden.bs.toast")},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),super.dispose()}_getConfig(t){return t={...Vt,...V.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},d("toast",t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const s=t.relatedTarget;this._element===s||this._element.contains(s)||this._maybeScheduleHide()}_setListeners(){B.on(this._element,"click.dismiss.bs.toast",'[data-bs-dismiss="toast"]',()=>this.hide()),B.on(this._element,"mouseover.bs.toast",t=>this._onInteraction(t,!0)),B.on(this._element,"mouseout.bs.toast",t=>this._onInteraction(t,!1)),B.on(this._element,"focusin.bs.toast",t=>this._onInteraction(t,!0)),B.on(this._element,"focusout.bs.toast",t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Qt.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return y(Qt),{Alert:z,Button:F,Carousel:et,Collapse:nt,Dropdown:pt,Modal:wt,Offcanvas:Tt,Popover:Wt,ScrollSpy:Ft,Tab:Ut,Toast:Qt,Tooltip:jt}})); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/themes/adritian-free-hugo-theme/static/js/library/bootstrap.min.js.map b/themes/adritian-free-hugo-theme/static/js/library/bootstrap.min.js.map new file mode 100644 index 0000000..c73d729 --- /dev/null +++ b/themes/adritian-free-hugo-theme/static/js/library/bootstrap.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../js/src/dom/selector-engine.js","../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/data.js","../../js/src/base-component.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/util/scrollbar.js","../../js/src/util/backdrop.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["SelectorEngine","find","selector","element","document","documentElement","concat","Element","prototype","querySelectorAll","call","findOne","querySelector","children","filter","child","matches","parents","ancestor","parentNode","nodeType","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","getUID","prefix","Math","floor","random","getElementById","getSelector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","getElementFromSelector","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","jquery","getElement","length","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","TypeError","toUpperCase","isVisible","getClientRects","getComputedStyle","getPropertyValue","isDisabled","classList","contains","disabled","hasAttribute","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","window","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","execute","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","getTransitionDurationFromElement","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","index","indexOf","listLength","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","customEventsRegex","nativeEvents","Set","getUidEvent","uid","getEvent","findHandler","events","delegationSelector","uidEventList","i","len","event","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","getTypeEvent","has","addHandler","oneOff","wrapFn","relatedTarget","delegateTarget","this","handlers","previousFn","replace","domElements","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","on","one","inNamespace","isNamespace","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","slice","keyHandlers","trigger","args","isNative","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","key","defineProperty","get","preventDefault","elementMap","Map","Data","set","instance","instanceMap","size","console","error","Array","from","remove","delete","BaseComponent","constructor","_element","DATA_KEY","dispose","EVENT_KEY","getOwnPropertyNames","propertyName","_queueCallback","isAnimated","[object Object]","getInstance","VERSION","Error","Alert","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","closest","_destroyElement","each","data","getOrCreateInstance","alertInstance","handleDismiss","Button","toggle","setAttribute","normalizeData","val","normalizeDataKey","chr","button","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","dataset","pureKey","charAt","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","KEY_TO_DIRECTION","ArrowLeft","ArrowRight","Carousel","super","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","activeIndex","_getItemIndex","order","_handleSwipe","absDeltax","abs","direction","_keydown","_addTouchEventListeners","start","pointerType","touches","clientX","move","end","clearTimeout","itemImg","e","add","tagName","_getItemByOrder","isNext","_triggerSlideEvent","eventDirectionName","targetIndex","fromIndex","_setActiveIndicatorElement","activeIndicator","indicators","parseInt","elementInterval","defaultInterval","directionOrOrder","_directionToOrder","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","_orderToDirection","triggerSlidEvent","completeCallBack","action","ride","carouselInterface","slideIndex","dataApiClickHandler","carousels","parent","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","style","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","selected","triggerArray","isOpen","triggerData","REGEXP_KEYDOWN","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","boundary","reference","display","popperConfig","autoClose","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","getParentFromElement","Popper","referenceElement","_getPopperConfig","isDisplayStatic","modifiers","modifier","enabled","createPopper","focus","_completeHide","destroy","update","_getPlacement","parentDropdown","isEnd","_getOffset","map","popperData","defaultBsPopperConfig","placement","options","_selectMenuItem","items","dropdownInterface","toggles","context","composedPath","isMenuTarget","clickEvent","isActive","stopPropagation","getToggleButton","clearMenus","click","dataApiKeydownHandler","ScrollBarHelper","getWidth","documentWidth","clientWidth","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","_saveInitialAttribute","overflow","styleProp","scrollbarWidth","_applyManipulationCallback","reset","_resetElementAttributes","actualValue","removeProperty","callBack","isOverflowing","clickCallback","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","className","appendChild","Modal","_dialog","_backdrop","_initializeBackDrop","_isShown","_ignoreBackdropClick","_scrollBar","_isAnimated","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","htmlElement","handleUpdate","modalBody","_enforceFocus","_triggerBackdropTransition","_resetAdjustments","currentTarget","scrollHeight","isModalOverflowing","clientHeight","overflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","scroll","Offcanvas","visibility","_enforceFocusOnElement","blur","undefined","allReadyOpen","el","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","allowlistKeys","elements","elName","attributeList","allowedAttributes","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacements","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","_initializeOnDelegatedTarget","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","updateAttachment","dataKey","_getDelegateConfig","phase","_handlePopperPlacementChange","onFirstUpdate","eventIn","eventOut","_fixTitle","originalTitleType","dataAttributes","dataAttr","tabClass","token","tClass","state","popper","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","node","spy","Tab","listElement","itemSelector","hideEvent","complete","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","_onInteraction","isInteracting"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children)\n .filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (ancestor.matches(selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","import SelectorEngine from '../dom/selector-engine'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return SelectorEngine.findOne(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst customEventsRegex = /^(mouseenter|mouseleave)/i\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n event.delegateTarget = element\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n // eslint-disable-next-line unicorn/consistent-destructuring\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n let typeEvent = getTypeEvent(originalTypeEvent)\n const isNative = nativeEvents.has(typeEvent)\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (customEventsRegex.test(originalTypeEvent)) {\n const wrapFn = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n if (delegationFn) {\n delegationFn = wrapFn(delegationFn)\n } else {\n handler = wrapFn(handler)\n }\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.has(typeEvent)\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\nimport {\n executeAfterTransition,\n getElement\n} from './util/index'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst VERSION = '5.0.2'\n\nclass BaseComponent {\n constructor(element) {\n element = getElement(element)\n\n if (!element) {\n return\n }\n\n this._element = element\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n Object.getOwnPropertyNames(this).forEach(propertyName => {\n this[propertyName] = null\n })\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n /** Static */\n\n static getInstance(element) {\n return Data.get(element, this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-bs-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASS_NAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(element), element, isAnimated)\n }\n\n _destroyElement(element) {\n element.remove()\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n\n Object.keys(element.dataset)\n .filter(key => key.startsWith('bs'))\n .forEach(key => {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n getNextActiveElement,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_INDICATOR = '[data-bs-target]'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const order = index > activeIndex ?\n ORDER_NEXT :\n ORDER_PREV\n\n this._slide(order, this._items[index])\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n if (!direction) {\n return\n }\n\n this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT)\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n this.touchDeltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this.touchStartX\n }\n\n const end = event => {\n if (this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(direction)\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByOrder(order, activeElement) {\n const isNext = order === ORDER_NEXT\n return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap)\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement)\n\n for (let i = 0; i < indicators.length; i++) {\n if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {\n indicators[i].classList.add(CLASS_NAME_ACTIVE)\n indicators[i].setAttribute('aria-current', 'true')\n break\n }\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(directionOrOrder, element) {\n const order = this._directionToOrder(directionOrOrder)\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || this._getItemByOrder(order, activeElement)\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n const isNext = order === ORDER_NEXT\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n const eventDirectionName = this._orderToDirection(order)\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n if (this._isSliding) {\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n const triggerSlidEvent = () => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n setTimeout(triggerSlidEvent, 0)\n }\n\n this._queueCallback(completeCallBack, activeElement, true)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n triggerSlidEvent()\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _directionToOrder(direction) {\n if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\n return direction\n }\n\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (![ORDER_NEXT, ORDER_PREV].includes(order)) {\n return order\n }\n\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n\n static carouselInterface(element, config) {\n const data = Carousel.getOrCreateInstance(element, config)\n\n let { _config } = data\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Carousel.getInstance(target).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n getSelectorFromElement,\n getElementFromSelector,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._isTransitioning = false\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${this._element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-bs-target=\"#${this._element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === this._element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-bs-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.find(elem => container !== elem)\n activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.set(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n parent = getElement(parent)\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-bs-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Collapse.getInstance(element)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Collapse.getInstance(element)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n getElement,\n getElementFromSelector,\n isDisabled,\n isElement,\n isVisible,\n isRTL,\n noop,\n getNextActiveElement,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_NAVBAR = 'navbar'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\n\nconst Default = {\n offset: [0, 2],\n boundary: 'clippingParents',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null,\n autoClose: true\n}\n\nconst DefaultType = {\n offset: '(array|string|function)',\n boundary: '(string|element)',\n reference: '(string|element|object)',\n display: 'string',\n popperConfig: '(null|object|function)',\n autoClose: '(boolean|string)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n if (isDisabled(this._element)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n if (isActive) {\n this.hide()\n return\n }\n\n this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Totally disable Popper for Dropdowns in Navbar\n if (this._inNavbar) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'none')\n } else {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false)\n\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n\n if (isDisplayStatic) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static')\n }\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', noop))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n this.toggle()\n })\n }\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', noop))\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n const data = Dropdown.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const context = Dropdown.getInstance(toggles[i])\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n if (!context._element.classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n const relatedTarget = {\n relatedTarget: context._element\n }\n\n if (event) {\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (!isActive && event.key === ESCAPE_KEY) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (isDisabled(this)) {\n return\n }\n\n const getToggleButton = () => this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n\n if (event.key === ESCAPE_KEY) {\n getToggleButton().focus()\n Dropdown.clearMenus()\n return\n }\n\n if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {\n if (!isActive) {\n getToggleButton().click()\n }\n\n Dropdown.getInstance(getToggleButton())._selectMenuItem(event)\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.dropdownInterface(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine'\nimport Manipulator from '../dom/manipulator'\nimport { isElement } from './index'\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width)\n }\n\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProp, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProp)\n const calculatedValue = window.getComputedStyle(element)[styleProp]\n element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, 'paddingRight')\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight')\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight')\n }\n\n _saveInitialAttribute(element, styleProp) {\n const actualValue = element.style[styleProp]\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProp, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProp) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProp)\n if (typeof value === 'undefined') {\n element.style.removeProperty(styleProp)\n } else {\n Manipulator.removeDataAttribute(element, styleProp)\n element.style[styleProp] = value\n }\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n } else {\n SelectorEngine.find(selector, this._element).forEach(callBack)\n }\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { execute, executeAfterTransition, getElement, reflow, typeCheckConfig } from './index'\n\nconst Default = {\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n isAnimated: false,\n rootElement: 'body', // give the choice to place backdrop under different elements\n clickCallback: null\n}\n\nconst DefaultType = {\n isVisible: 'boolean',\n isAnimated: 'boolean',\n rootElement: '(element|string)',\n clickCallback: '(function|null)'\n}\nconst NAME = 'backdrop'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nclass Backdrop {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n if (this._config.isAnimated) {\n reflow(this._getElement())\n }\n\n this._getElement().classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n // Private\n\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = CLASS_NAME_BACKDROP\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n this._config.rootElement.appendChild(this._getElement())\n\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport ScrollBarHelper from './util/scrollbar'\nimport BaseComponent from './base-component'\nimport Backdrop from './util/backdrop'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-bs-dismiss=\"modal\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._isShown = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n if (this._isAnimated()) {\n this._isTransitioning = true\n }\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, event => this.hide(event))\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event && ['A', 'AREA'].includes(event.target.tagName)) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const isAnimated = this._isAnimated()\n\n if (isAnimated) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n this._queueCallback(() => this._hideModal(), this._element, isAnimated)\n }\n\n dispose() {\n [window, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n this._backdrop.dispose()\n super.dispose()\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value\n isAnimated: this._isAnimated()\n })\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const isAnimated = this._isAnimated()\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (isAnimated) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, isAnimated)\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _showBackdrop(callback) {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === true) {\n this.hide()\n } else if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n }\n })\n\n this._backdrop.show(callback)\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const { classList, scrollHeight, style } = this._element\n const isModalOverflowing = scrollHeight > document.documentElement.clientHeight\n\n // return if the following background transition hasn't yet completed\n if ((!isModalOverflowing && style.overflowY === 'hidden') || classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n style.overflowY = 'hidden'\n }\n\n classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n this._queueCallback(() => {\n style.overflowY = ''\n }, this._dialog)\n }\n }, this._dialog)\n\n this._element.focus()\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if ((!isBodyOverflowing && isModalOverflowing && !isRTL()) || (isBodyOverflowing && !isModalOverflowing && isRTL())) {\n this._element.style.paddingLeft = `${scrollbarWidth}px`\n }\n\n if ((isBodyOverflowing && !isModalOverflowing && !isRTL()) || (!isBodyOverflowing && isModalOverflowing && isRTL())) {\n this._element.style.paddingRight = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isDisabled,\n isVisible,\n typeCheckConfig\n} from './util/index'\nimport ScrollBarHelper from './util/scrollbar'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport SelectorEngine from './dom/selector-engine'\nimport Manipulator from './dom/manipulator'\nimport Backdrop from './util/backdrop'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: 'boolean',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\nconst CLASS_NAME_SHOW = 'show'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_DISMISS = '[data-bs-dismiss=\"offcanvas\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._addEventListeners()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._element.style.visibility = 'visible'\n\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n this._enforceFocusOnElement(this._element)\n }\n\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const completeCallBack = () => {\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n EventHandler.off(document, EVENT_FOCUSIN)\n this._element.blur()\n this._isShown = false\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._element.style.visibility = 'hidden'\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n super.dispose()\n EventHandler.off(document, EVENT_FOCUSIN)\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: this._config.backdrop,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: () => this.hide()\n })\n }\n\n _enforceFocusOnElement(element) {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n element !== event.target &&\n !element.contains(event.target)) {\n element.focus()\n }\n })\n element.focus()\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n this.hide()\n }\n })\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (allReadyOpen && allReadyOpen !== target) {\n Offcanvas.getInstance(allReadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () =>\n SelectorEngine.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attrName)) {\n if (uriAttrs.has(attrName)) {\n return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attrName)) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (!allowlistKeys.includes(elName)) {\n el.remove()\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n findShadowRoot,\n getElement,\n getUID,\n isElement,\n isRTL,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(array|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacements: 'array',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object|function)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n animation: true,\n template: '
    ' +\n '
    ' +\n '
    ' +\n '
    ',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: [0, 0],\n container: false,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n boundary: 'clippingParents',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element)\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this._config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const context = this._initializeOnDelegatedTarget(event)\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.remove()\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this.isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = shadowRoot === null ?\n this._element.ownerDocument.documentElement.contains(this._element) :\n shadowRoot.contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this._element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this._config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this._config.placement === 'function' ?\n this._config.placement.call(this, tip, this._element) :\n this._config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const { container } = this._config\n Data.set(tip, this.constructor.DATA_KEY, this)\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n EventHandler.trigger(this._element, this.constructor.Event.INSERTED)\n }\n\n if (this._popper) {\n this._popper.update()\n } else {\n this._popper = Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n const customClass = typeof this._config.customClass === 'function' ? this._config.customClass() : this._config.customClass\n if (customClass) {\n tip.classList.add(...customClass.split(' '))\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop)\n })\n }\n\n const complete = () => {\n const prevHoverState = this._hoverState\n\n this._hoverState = null\n EventHandler.trigger(this._element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(complete, this.tip, isAnimated)\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (this._hoverState !== HOVER_STATE_SHOW) {\n tip.remove()\n }\n\n this._cleanTipClass()\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.Event.HIDDEN)\n\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(complete, this.tip, isAnimated)\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.update()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this._config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (isElement(content)) {\n content = getElement(content)\n\n // content is a DOM node or a jQuery\n if (this._config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this._config.html) {\n if (this._config.sanitize) {\n content = sanitizeHtml(content, this._config.allowList, this._config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this._element.getAttribute('data-bs-original-title')\n\n if (!title) {\n title = typeof this._config.title === 'function' ?\n this._config.title.call(this._element) :\n this._config.title\n }\n\n return title\n }\n\n updateAttachment(attachment) {\n if (attachment === 'right') {\n return 'end'\n }\n\n if (attachment === 'left') {\n return 'start'\n }\n\n return attachment\n }\n\n // Private\n\n _initializeOnDelegatedTarget(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.get(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(event.delegateTarget, this._getDelegateConfig())\n Data.set(event.delegateTarget, dataKey, context)\n }\n\n return context\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'onChange',\n enabled: true,\n phase: 'afterWrite',\n fn: data => this._handlePopperPlacementChange(data)\n }\n ],\n onFirstUpdate: data => {\n if (data.options.placement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n }\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${this.updateAttachment(attachment)}`)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.Event.CLICK, this._config.selector, event => this.toggle(event))\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => this._enter(event))\n EventHandler.on(this._element, eventOut, this._config.selector, event => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this._config.selector) {\n this._config = {\n ...this._config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n const originalTitleType = typeof this._element.getAttribute('data-bs-original-title')\n\n if (title || originalTitleType !== 'string') {\n this._element.setAttribute('data-bs-original-title', title || '')\n if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n context = this._initializeOnDelegatedTarget(event, context)\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context._config.delay || !context._config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context._config.delay.show)\n }\n\n _leave(event, context) {\n context = this._initializeOnDelegatedTarget(event, context)\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = context._element.contains(event.relatedTarget)\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context._config.delay || !context._config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context._config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this._config) {\n for (const key in this._config) {\n if (this.constructor.Default[key] !== this._config[key]) {\n config[key] = this._config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const { state } = popperData\n\n if (!state) {\n return\n }\n\n this.tip = state.elements.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(state.placement))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n offset: [0, 8],\n trigger: 'click',\n content: '',\n template: '
    ' +\n '
    ' +\n '

    ' +\n '
    ' +\n '
    '\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n this.tip = super.getTipElement()\n\n if (!this.getTitle()) {\n SelectorEngine.findOne(SELECTOR_TITLE, this.tip).remove()\n }\n\n if (!this._getContent()) {\n SelectorEngine.findOne(SELECTOR_CONTENT, this.tip).remove()\n }\n\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this._element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${this.updateAttachment(attachment)}`)\n }\n\n _getContent() {\n return this._element.getAttribute('data-bs-content') || this._config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element)\n this._scrollElement = this._element.tagName === 'BODY' ? window : this._element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, () => this._process())\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n EventHandler.off(this._scrollElement, EVENT_KEY)\n super.dispose()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-bs-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both