Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorMark Otto <markd.otto@gmail.com>2020-10-28 06:45:48 +0300
committerGitHub <noreply@github.com>2020-10-28 06:45:48 +0300
commit3e2f9ab237e0e338fbe497213ad2353e59fbee9c (patch)
treed1f1843ce62f3c5754e46f0df8eceb4d67a9b72d /dist
parent582f52e9e147c5386d07f241a74a185175cc461d (diff)
v5: Floating labels (#30449)
* v5: Promote floating labels example to component - Adds new .form-floating - Stubs out basics of a docs page - Removes existing Example * Update floating labels to support .form-select, make inputs and selects more consistent - To do this, I made the .form-control and .form-select consistent in min-height vs height - Removed some unused variables now - Updated -color to be the -color because I don't know why this was any different before - Update page to include some examples for layout, validation, and value - Rewrite styles to not modify padding, but instead transform and opacity * Streamline and bulletproof some things - Apply some optimizations from code review - Removed unecessary properties from the label - Add some comments for what properties are required - Move from fixed height for labels to height 100% so we can support textareas - Improve docs a little bit, add ToC * Move some values to variables, switch from scaling font-size to scale, update transforms * Bring over changes from #30966 and add to them to tighten things up * Delete the now unused example images * Fix typo * Allowlist the calc function * Add transform-origin, update transform values * Test out autofill fix * Fix linter issue * Mention it in the migration guide * Bump bundlesize * Add one more variable per review * Shave .25rem off the height Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Diffstat (limited to 'dist')
-rw-r--r--dist/css/bootstrap-grid.css.map2
-rw-r--r--dist/css/bootstrap-reboot.css10
-rw-r--r--dist/css/bootstrap-reboot.css.map2
-rw-r--r--dist/css/bootstrap-utilities.css105
-rw-r--r--dist/css/bootstrap-utilities.css.map2
-rw-r--r--dist/css/bootstrap.css659
-rw-r--r--dist/css/bootstrap.css.map2
-rw-r--r--dist/js/bootstrap.bundle.js23
-rw-r--r--dist/js/bootstrap.bundle.js.map2
-rw-r--r--dist/js/bootstrap.esm.js23
-rw-r--r--dist/js/bootstrap.esm.js.map2
-rw-r--r--dist/js/bootstrap.js23
-rw-r--r--dist/js/bootstrap.js.map2
13 files changed, 564 insertions, 293 deletions
diff --git a/dist/css/bootstrap-grid.css.map b/dist/css/bootstrap-grid.css.map
index 946c333fe2..1994285a71 100644
--- a/dist/css/bootstrap-grid.css.map
+++ b/dist/css/bootstrap-grid.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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C;ENqgC9C;EM78BU;IAxDV,gBAA8C;ENwgC9C;EMh9BU;IAxDV,uBAA8C;EN2gC9C;EMn9BU;IAxDV,uBAA8C;EN8gC9C;EM38BM;;IAEE,gBAAc;EN68BtB;EM18BM;;IAEE,gBAAc;EN48BtB;EMn9BM;;IAEE,sBAAc;ENq9BtB;EMl9BM;;IAEE,sBAAc;ENo9BtB;EM39BM;;IAEE,qBAAc;EN69BtB;EM19BM;;IAEE,qBAAc;EN49BtB;EMn+BM;;IAEE,mBAAc;ENq+BtB;EMl+BM;;IAEE,mBAAc;ENo+BtB;EM3+BM;;IAEE,qBAAc;EN6+BtB;EM1+BM;;IAEE,qBAAc;EN4+BtB;EMn/BM;;IAEE,mBAAc;ENq/BtB;EMl/BM;;IAEE,mBAAc;ENo/BtB;AACF;;AO9jCM;EAEI,0BAA+D;APgkCzE;;AOlkCM;EAEI,gCAA+D;APokCzE;;AOtkCM;EAEI,yBAA+D;APwkCzE;;AO1kCM;EAEI,yBAA+D;AP4kCzE;;AO9kCM;EAEI,6BAA+D;APglCzE;;AOllCM;EAEI,8BAA+D;APolCzE;;AOtlCM;EAEI,wBAA+D;APwlCzE;;AO1lCM;EAEI,+BAA+D;AP4lCzE;;AO9lCM;EAEI,wBAA+D;APgmCzE;;AOlmCM;EAEI,yBAA+D;APomCzE;;AOtmCM;EAEI,8BAA+D;APwmCzE;;AO1mCM;EAEI,iCAA+D;AP4mCzE;;AO9mCM;EAEI,sCAA+D;APgnCzE;;AOlnCM;EAEI,yCAA+D;APonCzE;;AOtnCM;EAEI,uBAA+D;APwnCzE;;AO1nCM;EAEI,uBAA+D;AP4nCzE;;AO9nCM;EAEI,yBAA+D;APgoCzE;;AOloCM;EAEI,yBAA+D;APooCzE;;AOtoCM;EAEI,0BAA+D;APwoCzE;;AO1oCM;EAEI,4BAA+D;AP4oCzE;;AO9oCM;EAEI,kCAA+D;APgpCzE;;AOlpCM;EAEI,sCAA+D;APopCzE;;AOtpCM;EAEI,oCAA+D;APwpCzE;;AO1pCM;EAEI,kCAA+D;AP4pCzE;;AO9pCM;EAEI,yCAA+D;APgqCzE;;AOlqCM;EAEI,wCAA+D;APoqCzE;;AOtqCM;EAEI,wCAA+D;APwqCzE;;AO1qCM;EAEI,kCAA+D;AP4qCzE;;AO9qCM;EAEI,gCAA+D;APgrCzE;;AOlrCM;EAEI,8BAA+D;APorCzE;;AOtrCM;EAEI,gCAA+D;APwrCzE;;AO1rCM;EAEI,+BAA+D;AP4rCzE;;AO9rCM;EAEI,oCAA+D;APgsCzE;;AOlsCM;EAEI,kCAA+D;APosCzE;;AOtsCM;EAEI,gCAA+D;APwsCzE;;AO1sCM;EAEI,uCAA+D;AP4sCzE;;AO9sCM;EAEI,sCAA+D;APgtCzE;;AOltCM;EAEI,iCAA+D;APotCzE;;AOttCM;EAEI,2BAA+D;APwtCzE;;AO1tCM;EAEI,iCAA+D;AP4tCzE;;AO9tCM;EAEI,+BAA+D;APguCzE;;AOluCM;EAEI,6BAA+D;APouCzE;;AOtuCM;EAEI,+BAA+D;APwuCzE;;AO1uCM;EAEI,8BAA+D;AP4uCzE;;AO9uCM;EAEI,oBAA+D;APgvCzE;;AOlvCM;EAEI,mBAA+D;APovCzE;;AOtvCM;EAEI,mBAA+D;APwvCzE;;AO1vCM;EAEI,mBAA+D;AP4vCzE;;AO9vCM;EAEI,mBAA+D;APgwCzE;;AOlwCM;EAEI,mBAA+D;APowCzE;;AOtwCM;EAEI,mBAA+D;APwwCzE;;AO1wCM;EAEI,mBAA+D;AP4wCzE;;AO9wCM;EAEI,oBAA+D;APgxCzE;;AOlxCM;EAEI,0BAA+D;APoxCzE;;AOtxCM;EAEI,yBAA+D;APwxCzE;;AO1xCM;EAEI,uBAA+D;AP4xCzE;;AO9xCM;EAEI,yBAA+D;APgyCzE;;AOlyCM;EAEI,uBAA+D;APoyCzE;;AOtyCM;EAEI,uBAA+D;APwyCzE;;AO1yCM;EAEI,0BAA+D;EAA/D,yBAA+D;AP6yCzE;;AO/yCM;EAEI,gCAA+D;EAA/D,+BAA+D;APkzCzE;;AOpzCM;EAEI,+BAA+D;EAA/D,8BAA+D;APuzCzE;;AOzzCM;EAEI,6BAA+D;EAA/D,4BAA+D;AP4zCzE;;AO9zCM;EAEI,+BAA+D;EAA/D,8BAA+D;APi0CzE;;AOn0CM;EAEI,6BAA+D;EAA/D,4BAA+D;APs0CzE;;AOx0CM;EAEI,6BAA+D;EAA/D,4BAA+D;AP20CzE;;AO70CM;EAEI,wBAA+D;EAA/D,2BAA+D;APg1CzE;;AOl1CM;EAEI,8BAA+D;EAA/D,iCAA+D;APq1CzE;;AOv1CM;EAEI,6BAA+D;EAA/D,gCAA+D;AP01CzE;;AO51CM;EAEI,2BAA+D;EAA/D,8BAA+D;AP+1CzE;;AOj2CM;EAEI,6BAA+D;EAA/D,gCAA+D;APo2CzE;;AOt2CM;EAEI,2BAA+D;EAA/D,8BAA+D;APy2CzE;;AO32CM;EAEI,2BAA+D;EAA/D,8BAA+D;AP82CzE;;AOh3CM;EAEI,wBAA+D;APk3CzE;;AOp3CM;EAEI,8BAA+D;APs3CzE;;AOx3CM;EAEI,6BAA+D;AP03CzE;;AO53CM;EAEI,2BAA+D;AP83CzE;;AOh4CM;EAEI,6BAA+D;APk4CzE;;AOp4CM;EAEI,2BAA+D;APs4CzE;;AOx4CM;EAEI,2BAA+D;AP04CzE;;AO54CM;EAEI,0BAA+D;AP84CzE;;AOh5CM;EAEI,gCAA+D;APk5CzE;;AOp5CM;EAEI,+BAA+D;APs5CzE;;AOx5CM;EAEI,6BAA+D;AP05CzE;;AO55CM;EAEI,+BAA+D;AP85CzE;;AOh6CM;EAEI,6BAA+D;APk6CzE;;AOp6CM;EAEI,6BAA+D;APs6CzE;;AOx6CM;EAEI,2BAA+D;AP06CzE;;AO56CM;EAEI,iCAA+D;AP86CzE;;AOh7CM;EAEI,gCAA+D;APk7CzE;;AOp7CM;EAEI,8BAA+D;APs7CzE;;AOx7CM;EAEI,gCAA+D;AP07CzE;;AO57CM;EAEI,8BAA+D;AP87CzE;;AOh8CM;EAEI,8BAA+D;APk8CzE;;AOp8CM;EAEI,yBAA+D;APs8CzE;;AOx8CM;EAEI,+BAA+D;AP08CzE;;AO58CM;EAEI,8BAA+D;AP88CzE;;AOh9CM;EAEI,4BAA+D;APk9CzE;;AOp9CM;EAEI,8BAA+D;APs9CzE;;AOx9CM;EAEI,4BAA+D;AP09CzE;;AO59CM;EAEI,4BAA+D;AP89CzE;;AOh+CM;EAEI,qBAA+D;APk+CzE;;AOp+CM;EAEI,2BAA+D;APs+CzE;;AOx+CM;EAEI,0BAA+D;AP0+CzE;;AO5+CM;EAEI,wBAA+D;AP8+CzE;;AOh/CM;EAEI,0BAA+D;APk/CzE;;AOp/CM;EAEI,wBAA+D;APs/CzE;;AOx/CM;EAEI,2BAA+D;EAA/D,0BAA+D;AP2/CzE;;AO7/CM;EAEI,iCAA+D;EAA/D,gCAA+D;APggDzE;;AOlgDM;EAEI,gCAA+D;EAA/D,+BAA+D;APqgDzE;;AOvgDM;EAEI,8BAA+D;EAA/D,6BAA+D;AP0gDzE;;AO5gDM;EAEI,gCAA+D;EAA/D,+BAA+D;AP+gDzE;;AOjhDM;EAEI,8BAA+D;EAA/D,6BAA+D;APohDzE;;AOthDM;EAEI,yBAA+D;EAA/D,4BAA+D;APyhDzE;;AO3hDM;EAEI,+BAA+D;EAA/D,kCAA+D;AP8hDzE;;AOhiDM;EAEI,8BAA+D;EAA/D,iCAA+D;APmiDzE;;AOriDM;EAEI,4BAA+D;EAA/D,+BAA+D;APwiDzE;;AO1iDM;EAEI,8BAA+D;EAA/D,iCAA+D;AP6iDzE;;AO/iDM;EAEI,4BAA+D;EAA/D,+BAA+D;APkjDzE;;AOpjDM;EAEI,yBAA+D;APsjDzE;;AOxjDM;EAEI,+BAA+D;AP0jDzE;;AO5jDM;EAEI,8BAA+D;AP8jDzE;;AOhkDM;EAEI,4BAA+D;APkkDzE;;AOpkDM;EAEI,8BAA+D;APskDzE;;AOxkDM;EAEI,4BAA+D;AP0kDzE;;AO5kDM;EAEI,2BAA+D;AP8kDzE;;AOhlDM;EAEI,iCAA+D;APklDzE;;AOplDM;EAEI,gCAA+D;APslDzE;;AOxlDM;EAEI,8BAA+D;AP0lDzE;;AO5lDM;EAEI,gCAA+D;AP8lDzE;;AOhmDM;EAEI,8BAA+D;APkmDzE;;AOpmDM;EAEI,4BAA+D;APsmDzE;;AOxmDM;EAEI,kCAA+D;AP0mDzE;;AO5mDM;EAEI,iCAA+D;AP8mDzE;;AOhnDM;EAEI,+BAA+D;APknDzE;;AOpnDM;EAEI,iCAA+D;APsnDzE;;AOxnDM;EAEI,+BAA+D;AP0nDzE;;AO5nDM;EAEI,0BAA+D;AP8nDzE;;AOhoDM;EAEI,gCAA+D;APkoDzE;;AOpoDM;EAEI,+BAA+D;APsoDzE;;AOxoDM;EAEI,6BAA+D;AP0oDzE;;AO5oDM;EAEI,+BAA+D;AP8oDzE;;AOhpDM;EAEI,6BAA+D;APkpDzE;;AG9nDI;EItBE;IAEI,0BAA+D;EPupDvE;EOzpDI;IAEI,gCAA+D;EP0pDvE;EO5pDI;IAEI,yBAA+D;EP6pDvE;EO/pDI;IAEI,yBAA+D;EPgqDvE;EOlqDI;IAEI,6BAA+D;EPmqDvE;EOrqDI;IAEI,8BAA+D;EPsqDvE;EOxqDI;IAEI,wBAA+D;EPyqDvE;EO3qDI;IAEI,+BAA+D;EP4qDvE;EO9qDI;IAEI,wBAA+D;EP+qDvE;EOjrDI;IAEI,yBAA+D;EPkrDvE;EOprDI;IAEI,8BAA+D;EPqrDvE;EOvrDI;IAEI,iCAA+D;EPwrDvE;EO1rDI;IAEI,sCAA+D;EP2rDvE;EO7rDI;IAEI,yCAA+D;EP8rDvE;EOhsDI;IAEI,uBAA+D;EPisDvE;EOnsDI;IAEI,uBAA+D;EPosDvE;EOtsDI;IAEI,yBAA+D;EPusDvE;EOzsDI;IAEI,yBAA+D;EP0sDvE;EO5sDI;IAEI,0BAA+D;EP6sDvE;EO/sDI;IAEI,4BAA+D;EPgtDvE;EOltDI;IAEI,kCAA+D;EPmtDvE;EOrtDI;IAEI,sCAA+D;EPstDvE;EOxtDI;IAEI,oCAA+D;EPytDvE;EO3tDI;IAEI,kCAA+D;EP4tDvE;EO9tDI;IAEI,yCAA+D;EP+tDvE;EOjuDI;IAEI,wCAA+D;EPkuDvE;EOpuDI;IAEI,wCAA+D;EPquDvE;EOvuDI;IAEI,kCAA+D;EPwuDvE;EO1uDI;IAEI,gCAA+D;EP2uDvE;EO7uDI;IAEI,8BAA+D;EP8uDvE;EOhvDI;IAEI,gCAA+D;EPivDvE;EOnvDI;IAEI,+BAA+D;EPovDvE;EOtvDI;IAEI,oCAA+D;EPuvDvE;EOzvDI;IAEI,kCAA+D;EP0vDvE;EO5vDI;IAEI,gCAA+D;EP6vDvE;EO/vDI;IAEI,uCAA+D;EPgwDvE;EOlwDI;IAEI,sCAA+D;EPmwDvE;EOrwDI;IAEI,iCAA+D;EPswDvE;EOxwDI;IAEI,2BAA+D;EPywDvE;EO3wDI;IAEI,iCAA+D;EP4wDvE;EO9wDI;IAEI,+BAA+D;EP+wDvE;EOjxDI;IAEI,6BAA+D;EPkxDvE;EOpxDI;IAEI,+BAA+D;EPqxDvE;EOvxDI;IAEI,8BAA+D;EPwxDvE;EO1xDI;IAEI,oBAA+D;EP2xDvE;EO7xDI;IAEI,m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EvE;EO9hEI;IAEI,4BAA+D;EP+hEvE;EOjiEI;IAEI,8BAA+D;EPkiEvE;EOpiEI;IAEI,4BAA+D;EPqiEvE;EOviEI;IAEI,2BAA+D;EPwiEvE;EO1iEI;IAEI,iCAA+D;EP2iEvE;EO7iEI;IAEI,gCAA+D;EP8iEvE;EOhjEI;IAEI,8BAA+D;EPijEvE;EOnjEI;IAEI,gCAA+D;EPojEvE;EOtjEI;IAEI,8BAA+D;EPujEvE;EOzjEI;IAEI,4BAA+D;EP0jEvE;EO5jEI;IAEI,kCAA+D;EP6jEvE;EO/jEI;IAEI,iCAA+D;EPgkEvE;EOlkEI;IAEI,+BAA+D;EPmkEvE;EOrkEI;IAEI,iCAA+D;EPskEvE;EOxkEI;IAEI,+BAA+D;EPykEvE;EO3kEI;IAEI,0BAA+D;EP4kEvE;EO9kEI;IAEI,gCAA+D;EP+kEvE;EOjlEI;IAEI,+BAA+D;EPklEvE;EOplEI;IAEI,6BAA+D;EPqlEvE;EOvlEI;IAEI,+BAA+D;EPwlEvE;EO1lEI;IAEI,6BAA+D;EP2lEvE;AACF;;AGxkEI;EItBE;IAEI,0BAA+D;EPimEvE;EOnmEI;IAEI,gCAA+D;EPomEvE;EOtmEI;IAEI,yBAA+D;EPumEvE;EOzmEI;IAEI,yBAA+D;EP0mEvE;EO5mEI;IAEI,6BAA+D;EP6mEvE;EO/mEI;IAEI,8BAA+D;EPgnEvE;EOlnEI;IAEI,wBAA+D;EPmnEvE;EOrnEI;IAEI,+BAA+D;EPsnEvE;EOxnEI;IAEI,wBAA+D;EPynEvE;EO3nEI;IAEI,yBAA+D;EP4nEvE;EO9nEI;IAEI,8BAA+D;EP+nEvE;EOjoEI;IAEI,iCAA+D;EPkoEvE;EOpoEI;IAEI,sCAA+D;EPqoEvE;EOvoEI;IAEI,yCAA+D;EPwoEvE;EO1oEI;IAEI,uBAA+D;EP2oEvE;EO7oEI;IAEI,uBAA+D;EP8oEvE;EOhpEI;IAEI,yBAA+D;EPipEvE;EOnpEI;IAEI,yBAA+D;EPopEvE;EOtpEI;IAEI,0BAA+D;EPupEvE;EOzpEI;IAEI,4BAA+D;EP0pEvE;EO5pEI;IAEI,kCAA+D;EP6pEvE;EO/pEI;IAEI,sCAA+D;EPgqEvE;EOlqEI;IAEI,oCAA+D;EPmq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O/6FI;IAEI,8BAA+D;EPg7FvE;EOl7FI;IAEI,4BAA+D;EPm7FvE;EOr7FI;IAEI,8BAA+D;EPs7FvE;EOx7FI;IAEI,4BAA+D;EPy7FvE;EO37FI;IAEI,2BAA+D;EP47FvE;EO97FI;IAEI,iCAA+D;EP+7FvE;EOj8FI;IAEI,gCAA+D;EPk8FvE;EOp8FI;IAEI,8BAA+D;EPq8FvE;EOv8FI;IAEI,gCAA+D;EPw8FvE;EO18FI;IAEI,8BAA+D;EP28FvE;EO78FI;IAEI,4BAA+D;EP88FvE;EOh9FI;IAEI,kCAA+D;EPi9FvE;EOn9FI;IAEI,iCAA+D;EPo9FvE;EOt9FI;IAEI,+BAA+D;EPu9FvE;EOz9FI;IAEI,iCAA+D;EP09FvE;EO59FI;IAEI,+BAA+D;EP69FvE;EO/9FI;IAEI,0BAA+D;EPg+FvE;EOl+FI;IAEI,gCAA+D;EPm+FvE;EOr+FI;IAEI,+BAA+D;EPs+FvE;EOx+FI;IAEI,6BAA+D;EPy+FvE;EO3+FI;IAEI,+BAA+D;EP4+FvE;EO9+FI;IAEI,6BAA+D;EP++FvE;AACF;;AG59FI;EItBE;IAEI,0BAA+D;EPq/FvE;EOv/FI;IAEI,gCAA+D;EPw/FvE;EO1/FI;IAEI,yBAA+D;EP2/FvE;EO7/FI;IAEI,yBAA+D;EP8/FvE;EOhgGI;IAEI,6BAA+D;EPigGvE;EOngGI;IAEI,8BAA+D;EPogGvE;EOtgGI;IAEI,wBAA+D;EPugGvE;EOzgGI;IAEI,+BAA+D;EP0gGvE;EO5gGI;IAEI,wBAA+D;EP6gGvE;EO/gGI;IAEI,yBAA+D;EPghGvE;EOlhGI;IAEI,8BAA+D;EPmhGvE;EOrhGI;IAEI,iCAA+D;EPshGvE;EOxhGI;IAEI,sCAA+D;EPyhGvE;EO3hGI;IAEI,yCAA+D;EP4hGvE;EO9hGI;IAEI,uBAA+D;EP+hGvE;EOjiGI;IAEI,uBAA+D;EPkiGvE;EOpiGI;IAEI,yBAA+D;EPqiGvE;EOviGI;IAEI,yBAA+D;EPwiGvE;EO1iGI;IAEI,0BAA+D;EP2iGvE;EO7iGI;IAEI,4BAA+D;EP8iGvE;EOhjGI;IAEI,kCAA+D;EPijGvE;EOnjGI;IAEI,sCAA+D;EPojGvE;E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GvE;AACF;;AGt6GI;EItBE;IAEI,0BAA+D;EP+7GvE;EOj8GI;IAEI,gCAA+D;EPk8GvE;EOp8GI;IAEI,yBAA+D;EPq8GvE;EOv8GI;IAEI,yBAA+D;EPw8GvE;EO18GI;IAEI,6BAA+D;EP28GvE;EO78GI;IAEI,8BAA+D;EP88GvE;EOh9GI;IAEI,wBAA+D;EPi9GvE;EOn9GI;IAEI,+BAA+D;EPo9GvE;EOt9GI;IAEI,wBAA+D;EPu9GvE;EOz9GI;IAEI,yBAA+D;EP09GvE;EO59GI;IAEI,8BAA+D;EP69GvE;EO/9GI;IAEI,iCAA+D;EPg+GvE;EOl+GI;IAEI,sCAA+D;EPm+GvE;EOr+GI;IAEI,yCAA+D;EPs+GvE;EOx+GI;IAEI,uBAA+D;EPy+GvE;EO3+GI;IAEI,uBAA+D;EP4+GvE;EO9+GI;IAEI,yBAA+D;EP++GvE;EOj/GI;IAEI,yBAA+D;EPk/GvE;EOp/GI;IAEI,0BAA+D;EPq/GvE;EOv/GI;IAEI,4BAA+D;EPw/GvE;EO1/GI;IAEI,kCAA+D;EP2/GvE;EO7/GI;IAEI,sCAA+D;EP8/GvE;EOhgHI;IAEI,oCAA+D;EPigHvE;EOngHI;IAEI,kCAA+D;EPogHvE;EOtgHI;IAEI,yCAA+D;EPugHvE;EOzgHI;IAEI,wCAA+D;EP0gHvE;EO5gHI;IAEI,wCAA+D;EP6gHvE;EO/gHI;IAEI,kCAA+D;EPghHvE;EOlhHI;IAEI,gCAA+D;EPmhHvE;EOrhHI;IAEI,8BAA+D;EPshHvE;EOxhHI;IAEI,gCAA+D;EPyhHvE;EO3hHI;IAEI,+BAA+D;EP4hHvE;EO9hHI;IAEI,oCAA+D;EP+hHvE;EOjiHI;IAEI,kCAA+D;EPkiHvE;EOpiHI;IAEI,gCAA+D;EPqiHvE;EOviHI;IAEI,uCAA+D;EPwiHvE;EO1iHI;IAEI,sCAA+D;EP2iHvE;EO7iHI;IAEI,iCAA+D;EP8iHvE;EOhjHI;IAEI,2BAA+D;EPijHvE;EOnjHI;IAEI,iCAA+D;EPojHvE;EOtjHI;IAEI,+BAA+D;EPujHvE;EOzjHI;IAEI,6BAA+D;EP0jHvE;EO5jHI;IAEI,+BAA+D;EP6jHvE;EO/jHI;IAEI,8BAA+D;EPgkHvE;EOlkHI;IAEI,oBAA+D;EPmkHvE;EOrkHI;IAEI,mBAA+D;EPskHvE;EOxkHI;IAEI,mBAA+D;EPykHvE;EO3kHI;IAEI,mBAA+D;EP4kHvE;EO9kHI;IAEI,mBAA+D;EP+kHvE;EOjlHI;IAEI,mBAA+D;EPklHvE;EOplHI;IAEI,mBAA+D;EPqlHvE;EOvlHI;IAEI,mBAA+D;EPwlHvE;EO1lHI;IAEI,oBAA+D;EP2lHvE;EO7lHI;IAEI,0BAA+D;EP8lHvE;EOhmHI;IAEI,yBAA+D;EPimHvE;EOnmHI;IAEI,uBAA+D;EPomHvE;EOtmHI;IAEI,yBAA+D;EPumHvE;EOzmHI;IAEI,uBAA+D;EP0mHvE;EO5mHI;IAEI,uBAA+D;EP6mHvE;EO/mHI;IAEI,0BAA+D;IAA/D,yBAA+D;EPinHvE;EOnnHI;IAEI,gCAA+D;IAA/D,+BAA+D;EPqnHvE;EOvnHI;IAEI,+BAA+D;IAA/D,8BAA+D;EPynHvE;EO3nHI;IAEI,6BAA+D;IAA/D,4BAA+D;EP6nHvE;EO/nHI;IAEI,+BAA+D;IAA/D,8BAA+D;EPioHvE;EOnoHI;IAEI,6BAA+D;IAA/D,4BAA+D;EPqoHvE;EOvoHI;IAEI,6BAA+D;IAA/D,4BAA+D;EPyoHvE;EO3oHI;IAEI,wBAA+D;IAA/D,2BAA+D;EP6oHvE;EO/oHI;IAEI,8BAA+D;IAA/D,iCAA+D;EPipHvE;EOnpHI;IAEI,6BAA+D;IAA/D,gCAA+D;EPqpHvE;EOvpHI;IAEI,2BAA+D;IAA/D,8BAA+D;EPypHvE;EO3pHI;IAEI,6BAA+D;IAA/D,gCAA+D;EP6pHvE;EO/pHI;IAEI,2BAA+D;IAA/D,8BAA+D;EPiqHvE;EOnqHI;IAEI,2BAA+D;IAA/D,8BAA+D;EPqqHvE;EOvqHI;IAEI,wBAA+D;EPwqHvE;EO1qHI;IAEI,8BAA+D;EP2qHvE;EO7qHI;IAEI,6BAA+D;EP8qHvE;EOhrHI;IAEI,2BAA+D;EPirHvE;EOnrHI;IAEI,6BAA+D;EPorHvE;EOtrHI;IAEI,2BAA+D;EPurHvE;EOzrHI;IAEI,2BAA+D;EP0rHvE;EO5rHI;IAEI,0BAA+D;EP6rHvE;EO/rHI;IAEI,gCAA+D;EPgsHvE;EOlsHI;IAEI,+BAA+D;EPmsHvE;EOrsHI;IAEI,6BAA+D;EPssHvE;EOxsHI;IAEI,+BAA+D;EPysHvE;EO3sHI;IAEI,6BAA+D;EP4sHvE;EO9sHI;IAEI,6BAA+D;EP+sHvE;EOjtHI;IAEI,2BAA+D;EPktHvE;EOptHI;IAEI,iCAA+D;EPqtHvE;EOvtHI;IAEI,gCAA+D;EPwtHvE;EO1tHI;IAEI,8BAA+D;EP2tHvE;EO7tHI;IAEI,gCAA+D;EP8tHvE;EOhuHI;IAEI,8BAA+D;EPiuHvE;EOnuHI;IAEI,8BAA+D;EPouHvE;EOtuHI;IAEI,yBAA+D;EPuuHvE;EOzuHI;IAEI,+BAA+D;EP0uHvE;EO5uHI;IAEI,8BAA+D;EP6uHvE;EO/uHI;IAEI,4BAA+D;EPgvHvE;EOlvHI;IAEI,8BAA+D;EPmvHvE;EOrvHI;IAEI,4BAA+D;EPsvHvE;EOxvHI;IAEI,4BAA+D;EPyvHvE;EO3vHI;IAEI,qBAA+D;EP4vHvE;EO9vHI;IAEI,2BAA+D;EP+vHvE;EOjwHI;IAEI,0BAA+D;EPkwHvE;EOpwHI;IAEI,wBAA+D;EPqwHvE;EOvwHI;IAEI,0BAA+D;EPwwHvE;EO1wHI;IAEI,wBAA+D;EP2wHvE;EO7wHI;IAEI,2BAA+D;IAA/D,0BAA+D;EP+wHvE;EOjxHI;IAEI,iCAA+D;IAA/D,gCAA+D;EPmxHvE;EOrxHI;IAEI,gCAA+D;IAA/D,+BAA+D;EPuxHvE;EOzxHI;IAEI,8BAA+D;IAA/D,6BAA+D;EP2xHvE;EO7xHI;IAEI,gCAA+D;IAA/D,+BAA+D;EP+xHvE;EOjyHI;IAEI,8BAA+D;IAA/D,6BAA+D;EPmyHvE;EOryHI;IAEI,yBAA+D;IAA/D,4BAA+D;EPuyHvE;EOzyHI;IAEI,+BAA+D;IAA/D,kCAA+D;EP2yHvE;EO7yHI;IAEI,8BAA+D;IAA/D,iCAA+D;EP+yHvE;EOjzHI;IAEI,4BAA+D;IAA/D,+BAA+D;EPmzHvE;EOrzHI;IAEI,8BAA+D;IAA/D,iCAA+D;EPuzHvE;EOzzHI;IAEI,4BAA+D;IAA/D,+BAA+D;EP2zHvE;EO7zHI;IAEI,yBAA+D;EP8zHvE;EOh0HI;IAEI,+BAA+D;EPi0HvE;EOn0HI;IAEI,8BAA+D;EPo0HvE;EOt0HI;IAEI,4BAA+D;EPu0HvE;EOz0HI;IAEI,8BAA+D;EP00HvE;EO50HI;IAEI,4BAA+D;EP60HvE;EO/0HI;IAEI,2BAA+D;EPg1HvE;EOl1HI;IAEI,iCAA+D;EPm1HvE;EOr1HI;IAEI,gCAA+D;EPs1HvE;EOx1HI;IAEI,8BAA+D;EPy1HvE;EO31HI;IAEI,gCAA+D;EP41HvE;EO91HI;IAEI,8BAA+D;EP+1HvE;EOj2HI;IAEI,4BAA+D;EPk2HvE;EOp2HI;IAEI,kCAA+D;EPq2HvE;EOv2HI;IAEI,iCAA+D;EPw2HvE;EO12HI;IAEI,+BAA+D;EP22HvE;EO72HI;IAEI,iCAA+D;EP82HvE;EOh3HI;IAEI,+BAA+D;EPi3HvE;EOn3HI;IAEI,0BAA+D;EPo3HvE;EOt3HI;IAEI,gCAA+D;EPu3HvE;EOz3HI;IAEI,+BAA+D;EP03HvE;EO53HI;IAEI,6BAA+D;EP63HvE;EO/3HI;IAEI,+BAA+D;EPg4HvE;EOl4HI;IAEI,6BAA+D;EPm4HvE;AACF;;AQz4HA;EDGM;IAEI,0BAA+D;EPy4HvE;EO34HI;IAEI,gCAA+D;EP44HvE;EO94HI;IAEI,yBAA+D;EP+4HvE;EOj5HI;IAEI,yBAA+D;EPk5HvE;EOp5HI;IAEI,6BAA+D;EPq5HvE;EOv5HI;IAEI,8BAA+D;EPw5HvE;EO15HI;IAEI,wBAA+D;EP25HvE;EO75HI;IAEI,+BAA+D;EP85HvE;EOh6HI;IAEI,wBAA+D;EPi6HvE;AACF","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Grid v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl,\n.container-xxl {\n --bs-gutter-x: 1.5rem;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n@media (min-width: 1400px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {\n max-width: 1320px;\n }\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --bs-gutter-x: #{$gutter};\n\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-grid-classes: true !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer / 4,\n 2: $spacer / 2,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: null !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-widths: (\n 0: 0,\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--bs-font-sans-serif) !default;\n$font-family-code: var(--bs-font-monospace) !default;\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n\n$table-variants: (\n \"primary\": color-level($primary, $table-bg-level),\n \"secondary\": color-level($secondary, $table-bg-level),\n \"success\": color-level($success, $table-bg-level),\n \"info\": color-level($info, $table-bg-level),\n \"warning\": color-level($warning, $table-bg-level),\n \"danger\": color-level($danger, $table-bg-level),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: background-color .15s ease-in-out, background-position .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n$form-file-padding-y-sm: $input-padding-y-sm !default;\n$form-file-padding-x-sm: $input-padding-x-sm !default;\n$form-file-font-size-sm: $input-font-size-sm !default;\n$form-file-height-sm: $input-height-sm !default;\n\n$form-file-padding-y-lg: $input-padding-y-lg !default;\n$form-file-padding-x-lg: $input-padding-x-lg !default;\n$form-file-font-size-lg: $input-font-size-lg !default;\n$form-file-height-lg: $input-height-lg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' 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'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: null !default;\n$nav-link-hover-color: null !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: $spacer / 4 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n// Cards\n\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer / 2 !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y / 2 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: $spacer !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer / 4 !default;\n$tooltip-padding-x: $spacer / 2 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: $spacer !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer / 2 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-level: -9 !default;\n$list-group-item-color-level: 6 !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: $spacer / 2 !default;\n$breadcrumb-padding-x: $spacer !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-border-radius: $border-radius !default;\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$btn-close-color}' viewBox='0 0 16 16'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --bs-gutter-x: #{$gutter};\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-top: var(--bs-gutter-y);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --bs-gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --bs-gutter-y: #{$value};\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACCA;;;;;;;ECHA,qBAAc;EAEd,WAAW;EACX,2CAA2C;EAC3C,0CAA0C;EAC1C,kBAAkB;EAClB,iBAAiB;AFUnB;;AG4CI;EF5CE;IACE,gBGwSG;EJpST;AACF;;AGsCI;EF5CE;IACE,gBGySG;EJ/RT;AACF;;AGgCI;EF5CE;IACE,gBG0SG;EJ1RT;AACF;;AG0BI;EF5CE;IACE,iBG2SI;EJrRV;AACF;;AGoBI;EF5CE;IACE,iBG4SK;EJhRX;AACF;;AK5CE;ECAA,qBAAwC;EACxC,gBAAwC;EACxC,aAAa;EACb,eAAe;EACf,yCAAmE;EACnE,2CAAqE;EACrE,0CAAoE;ANgDtE;;AKtDE;ECWA,sBAAoG;EAIpG,cAAc;EACd,WAAW;EACX,eAAe;EACf,2CAAqE;EACrE,0CAAoE;EACpE,8BAAwD;AN4C1D;;AMHM;EACE,YAAY;ANMpB;;AMHM;EApCJ,cAAc;EACd,WAAW;AN2Cb;;AM7BE;EACE,cAAc;EACd,WAAoB;ANgCxB;;AMlCE;EACE,cAAc;EACd,UAAoB;ANqCxB;;AMvCE;EACE,cAAc;EACd,iBAAoB;AN0CxB;;AM5CE;EACE,cAAc;EACd,UAAoB;AN+CxB;;AMjDE;EACE,cAAc;EACd,UAAoB;ANoDxB;;AMtDE;EACE,cAAc;EACd,iBAAoB;ANyDxB;;AM1BM;EAhDJ,cAAc;EACd,WAAW;AN8Eb;;AMzBU;EA3DR,cAAc;EACd,gBAAmC;ANwFrC;;AM9BU;EA3DR,cAAc;EACd,iBAAmC;AN6FrC;;AMnCU;EA3DR,cAAc;EACd,UAAmC;ANkGrC;;AMxCU;EA3DR,cAAc;EACd,iBAAmC;ANuGrC;;AM7CU;EA3DR,cAAc;EACd,iBAAmC;AN4GrC;;AMlDU;EA3DR,cAAc;EACd,UAAmC;ANiHrC;;AMvDU;EA3DR,cAAc;EACd,iBAAmC;ANsHrC;;AM5DU;EA3DR,cAAc;EACd,iBAAmC;AN2HrC;;AMjEU;EA3DR,cAAc;EACd,UAAmC;ANgIrC;;AMtEU;EA3DR,cAAc;EACd,iBAAmC;ANqIrC;;AM3EU;EA3DR,cAAc;EACd,iBAAmC;AN0IrC;;AMhFU;EA3DR,cAAc;EACd,WAAmC;AN+IrC;;AM7EY;EAxDV,sBAA8C;ANyIhD;;AMjFY;EAxDV,uBAA8C;AN6IhD;;AMrFY;EAxDV,gBAA8C;ANiJhD;;AMzFY;EAxDV,uBAA8C;ANqJhD;;AM7FY;EAxDV,uBAA8C;ANyJhD;;AMjGY;EAxDV,gBAA8C;AN6JhD;;AMrGY;EAxDV,uBAA8C;ANiKhD;;AMzGY;EAxDV,uBAA8C;ANqKhD;;AM7GY;EAxDV,gBAA8C;ANyKhD;;AMjHY;EAxDV,uBAA8C;AN6KhD;;AMrHY;EAxDV,uBAA8C;ANiLhD;;AM9GQ;;EAEE,gBAAwC;ANiHlD;;AM9GQ;;EAEE,gBAAwC;ANiHlD;;AMxHQ;;EAEE,sBAAwC;AN2HlD;;AMxHQ;;EAEE,sBAAwC;AN2HlD;;AMlIQ;;EAEE,qBAAwC;ANqIlD;;AMlIQ;;EAEE,qBAAwC;ANqIlD;;AM5IQ;;EAEE,mBAAwC;AN+IlD;;AM5IQ;;EAEE,mBAAwC;AN+IlD;;AMtJQ;;EAEE,qBAAwC;ANyJlD;;AMtJQ;;EAEE,qBAAwC;ANyJlD;;AMhKQ;;EAEE,mBAAwC;ANmKlD;;AMhKQ;;EAEE,mBAAwC;ANmKlD;;AGtNI;EGGE;IACE,YAAY;ENuNlB;EMpNI;IApCJ,cAAc;IACd,WAAW;EN2PX;EM7OA;IACE,cAAc;IACd,WAAoB;EN+OtB;EMjPA;IACE,cAAc;IACd,UAAoB;ENmPtB;EMrPA;IACE,cAAc;IACd,iBAAoB;ENuPtB;EMzPA;IACE,cAAc;IACd,UAAoB;EN2PtB;EM7PA;IACE,cAAc;IACd,UAAoB;EN+PtB;EMjQA;IACE,cAAc;IACd,iBAAoB;ENmQtB;EMpOI;IAhDJ,cAAc;IACd,WAAW;ENuRX;EMlOQ;IA3DR,cAAc;IACd,gBAAmC;ENgSnC;EMtOQ;IA3DR,cAAc;IACd,iBAAmC;ENoSnC;EM1OQ;IA3DR,cAAc;IACd,UAAmC;ENwSnC;EM9OQ;IA3DR,cAAc;IACd,iBAAmC;EN4SnC;EMlPQ;IA3DR,cAAc;IACd,iBAAmC;ENgTnC;EMtPQ;IA3DR,cAAc;IACd,UAAmC;ENoTnC;EM1PQ;IA3DR,cAAc;IACd,iBAAmC;ENwTnC;EM9PQ;IA3DR,cAAc;IACd,iBAAmC;EN4TnC;EMlQQ;IA3DR,cAAc;IACd,UAAmC;ENgUnC;EMtQQ;IA3DR,cAAc;IACd,iBAAmC;ENoUnC;EM1QQ;IA3DR,cAAc;IACd,iBAAmC;ENwUnC;EM9QQ;IA3DR,cAAc;IACd,WAAmC;EN4UnC;EM1QU;IAxDV,cAA4B;ENqU5B;EM7QU;IAxDV,sBAA8C;ENwU9C;EMhRU;IAxDV,uBAA8C;EN2U9C;EMnRU;IAxDV,gBAA8C;EN8U9C;EMtRU;IAxDV,uBAA8C;ENiV9C;EMzRU;IAxDV,uBAA8C;ENoV9C;EM5RU;IAxDV,gBAA8C;ENuV9C;EM/RU;IAxDV,uBAA8C;EN0V9C;EMlSU;IAxDV,uBAA8C;EN6V9C;EMrSU;IAxDV,gBAA8C;ENgW9C;EMxSU;IAxDV,uBAA8C;ENmW9C;EM3SU;IAxDV,uBAA8C;ENsW9C;EMnSM;;IAEE,gBAAwC;ENqShD;EMlSM;;IAEE,gBAAwC;ENoShD;EM3SM;;IAEE,sBAAwC;EN6ShD;EM1SM;;IAEE,sBAAwC;EN4ShD;EMnTM;;IAEE,qBAAwC;ENqThD;EMlTM;;IAEE,qBAAwC;ENoThD;EM3TM;;IAEE,mBAAwC;EN6ThD;EM1TM;;IAEE,mBAAwC;EN4ThD;EMnUM;;IAEE,qBAAwC;ENqUhD;EMlUM;;IAEE,qBAAwC;ENoUhD;EM3UM;;IAEE,mBAAwC;EN6UhD;EM1UM;;IAEE,mBAAwC;EN4UhD;AACF;;AGhYI;EGGE;IACE,YAAY;ENiYlB;EM9XI;IApCJ,cAAc;IACd,WAAW;ENqaX;EMvZA;IACE,cAAc;IACd,WAAoB;ENyZtB;EM3ZA;IACE,cAAc;IACd,UAAoB;EN6ZtB;EM/ZA;IACE,cAAc;IACd,iBAAoB;ENiatB;EMnaA;IACE,cAAc;IACd,UAAoB;ENqatB;EMvaA;IACE,cAAc;IACd,UAAoB;ENyatB;EM3aA;IACE,cAAc;IACd,iBAAoB;EN6atB;EM9YI;IAhDJ,cAAc;IACd,WAAW;ENicX;EM5YQ;IA3DR,cAAc;IACd,gBAAmC;EN0cnC;EMhZQ;IA3DR,cAAc;IACd,iBAAmC;EN8cnC;EMpZQ;IA3DR,cAAc;IACd,UAAmC;ENkdnC;EMxZQ;IA3DR,cAAc;IACd,iBAAmC;ENsdnC;EM5ZQ;IA3DR,cAAc;IACd,iBAAmC;EN0dnC;EMhaQ;IA3DR,cAAc;IACd,UAAmC;EN8dnC;EMpaQ;IA3DR,cAAc;IACd,iBAAmC;ENkenC;EMxaQ;IA3DR,cAAc;IACd,iBAAmC;ENsenC;EM5aQ;IA3DR,cAAc;IACd,UAAmC;EN0enC;EMhbQ;IA3DR,cAAc;IACd,iBAAmC;EN8enC;EMpbQ;IA3DR,cAAc;IACd,iBAAmC;ENkfnC;EMxbQ;IA3DR,cAAc;IACd,WAAmC;ENsfnC;EMpbU;IAxDV,cAA4B;EN+e5B;EMvbU;IAxDV,sBAA8C;ENkf9C;EM1bU;IAxDV,uBAA8C;ENqf9C;EM7bU;IAxDV,gBAA8C;ENwf9C;EMhcU;IAxDV,uBAA8C;EN2f9C;EMncU;IAxDV,uBAA8C;EN8f9C;EMtcU;IAxDV,gBAA8C;ENigB9C;EMzcU;IAxDV,uBAA8C;ENogB9C;EM5cU;IAxDV,uBAA8C;ENugB9C;EM/cU;IAxDV,gBAA8C;EN0gB9C;EMldU;IAxDV,uBAA8C;EN6gB9C;EMrdU;IAxDV,uBAA8C;ENghB9C;EM7cM;;IAEE,gBAAwC;EN+chD;EM5cM;;IAEE,gBAAwC;EN8chD;EMrdM;;IAEE,sBAAwC;ENudhD;EMpdM;;IAEE,sBAAwC;ENsdhD;EM7dM;;IAEE,qBAAwC;EN+dhD;EM5dM;;IAEE,qBAAwC;EN8dhD;EMreM;;IAEE,mBAAwC;ENuehD;EMpeM;;IAEE,mBAAwC;ENsehD;EM7eM;;IAEE,qBAAwC;EN+ehD;EM5eM;;IAEE,qBAAwC;EN8ehD;EMrfM;;IAEE,mBAAwC;ENufhD;EMpfM;;IAEE,mBAAwC;ENsfhD;AACF;;AG1iBI;EGGE;IACE,YAAY;EN2iBlB;EMxiBI;IApCJ,cAAc;IACd,WAAW;EN+kBX;EMjkBA;IACE,cAAc;IACd,WAAoB;ENmkBtB;EMrkBA;IACE,cAAc;IACd,UAAoB;ENukBtB;EMzkBA;IACE,cAAc;IACd,iBAAoB;EN2kBtB;EM7kBA;IACE,cAAc;IACd,UAAoB;EN+kBtB;EMjlBA;IACE,cAAc;IACd,UAAoB;ENmlBtB;EMrlBA;IACE,cAAc;IACd,iBAAoB;ENulBtB;EMxjBI;IAhDJ,cAAc;IACd,WAAW;EN2mBX;EMtjBQ;IA3DR,cAAc;IACd,gBAAmC;ENonBnC;EM1jBQ;IA3DR,cAAc;IACd,iBAAmC;ENwnBnC;EM9jBQ;IA3DR,cAAc;IACd,UAAmC;EN4nBnC;EMlkBQ;IA3DR,cAAc;IACd,iBAAmC;ENgoBnC;EMtkBQ;IA3DR,cAAc;IACd,iBAAmC;ENooBnC;EM1kBQ;IA3DR,cAAc;IACd,UAAmC;ENwoBnC;EM9kBQ;IA3DR,cAAc;IACd,iBAAmC;EN4oBnC;EMllBQ;IA3DR,cAAc;IACd,iBAAmC;ENgpBnC;EMtlBQ;IA3DR,cAAc;IACd,UAAmC;ENopBnC;EM1lBQ;IA3DR,cAAc;IACd,iBAAmC;ENwpBnC;EM9lBQ;IA3DR,cAAc;IACd,iBAAmC;EN4pBnC;EMlmBQ;IA3DR,cAAc;IACd,WAAmC;ENgqBnC;EM9lBU;IAxDV,cAA4B;ENypB5B;EMjmBU;IAxDV,sBAA8C;EN4pB9C;EMpmBU;IAxDV,uBAA8C;EN+pB9C;EMvmBU;IAxDV,gBAA8C;ENkqB9C;EM1mBU;IAxDV,uBAA8C;ENqqB9C;EM7mBU;IAxDV,uBAA8C;ENwqB9C;EMhnBU;IAxDV,gBAA8C;EN2qB9C;EMnnBU;IAxDV,uBAA8C;EN8qB9C;EMtnBU;IAxDV,uBAA8C;ENirB9C;EMznBU;IAxDV,gBAA8C;ENorB9C;EM5nBU;IAxDV,uBAA8C;ENurB9C;EM/nBU;IAxDV,uBAA8C;EN0rB9C;EMvnBM;;IAEE,gBAAwC;ENynBhD;EMtnBM;;IAEE,gBAAwC;ENwnBhD;EM/nBM;;IAEE,sBAAwC;ENioBhD;EM9nBM;;IAEE,sBAAwC;ENgoBhD;EMvoBM;;IAEE,qBAAwC;ENyoBhD;EMtoBM;;IAEE,qBAAwC;ENwoBhD;EM/oBM;;IAEE,mBAAwC;ENipBhD;EM9oBM;;IAEE,mBAAwC;ENgpBhD;EMvpBM;;IAEE,qBAAwC;ENypBhD;EMtpBM;;IAEE,qBAAwC;ENwpBhD;EM/pBM;;IAEE,mBAAwC;ENiqBhD;EM9pBM;;IAEE,mBAAwC;ENgqBhD;AACF;;AGptBI;EGGE;IACE,YAAY;ENqtBlB;EMltBI;IApCJ,cAAc;IACd,WAAW;ENyvBX;EM3uBA;IACE,cAAc;IACd,WAAoB;EN6uBtB;EM/uBA;IACE,cAAc;IACd,UAAoB;ENivBtB;EMnvBA;IACE,cAAc;IACd,iBAAoB;ENqvBtB;EMvvBA;IACE,cAAc;IACd,UAAoB;ENyvBtB;EM3vBA;IACE,cAAc;IACd,UAAoB;EN6vBtB;EM/vBA;IACE,cAAc;IACd,iBAAoB;ENiwBtB;EMluBI;IAhDJ,cAAc;IACd,WAAW;ENqxBX;EMhuBQ;IA3DR,cAAc;IACd,gBAAmC;EN8xBnC;EMpuBQ;IA3DR,cAAc;IACd,iBAAmC;ENkyBnC;EMxuBQ;IA3DR,cAAc;IACd,UAAmC;ENsyBnC;EM5uBQ;IA3DR,cAAc;IACd,iBAAmC;EN0yBnC;EMhvBQ;IA3DR,cAAc;IACd,iBAAmC;EN8yBnC;EMpvBQ;IA3DR,cAAc;IACd,UAAmC;ENkzBnC;EMxvBQ;IA3DR,cAAc;IACd,iBAAmC;ENszBnC;EM5vBQ;IA3DR,cAAc;IACd,iBAAmC;EN0zBnC;EMhwBQ;IA3DR,cAAc;IACd,UAAmC;EN8zBnC;EMpwBQ;IA3DR,cAAc;IACd,iBAAmC;ENk0BnC;EMxwBQ;IA3DR,cAAc;IACd,iBAAmC;ENs0BnC;EM5wBQ;IA3DR,cAAc;IACd,WAAmC;EN00BnC;EMxwBU;IAxDV,cAA4B;ENm0B5B;EM3wBU;IAxDV,sBAA8C;ENs0B9C;EM9wBU;IAxDV,uBAA8C;ENy0B9C;EMjxBU;IAxDV,gBAA8C;EN40B9C;EMpxBU;IAxDV,uBAA8C;EN+0B9C;EMvxBU;IAxDV,uBAA8C;ENk1B9C;EM1xBU;IAxDV,gBAA8C;ENq1B9C;EM7xBU;IAxDV,uBAA8C;ENw1B9C;EMhyBU;IAxDV,uBAA8C;EN21B9C;EMnyBU;IAxDV,gBAA8C;EN81B9C;EMtyBU;IAxDV,uBAA8C;ENi2B9C;EMzyBU;IAxDV,uBAA8C;ENo2B9C;EMjyBM;;IAEE,gBAAwC;ENmyBhD;EMhyBM;;IAEE,gBAAwC;ENkyBhD;EMzyBM;;IAEE,sBAAwC;EN2yBhD;EMxyBM;;IAEE,sBAAwC;EN0yBhD;EMjzBM;;IAEE,qBAAwC;ENmzBhD;EMhzBM;;IAEE,qBAAwC;ENkzBhD;EMzzBM;;IAEE,mBAAwC;EN2zBhD;EMxzBM;;IAEE,mBAAwC;EN0zBhD;EMj0BM;;IAEE,qBAAwC;ENm0BhD;EMh0BM;;IAEE,qBAAwC;ENk0BhD;EMz0BM;;IAEE,mBAAwC;EN20BhD;EMx0BM;;IAEE,mBAAwC;EN00BhD;AACF;;AG93BI;EGGE;IACE,YAAY;EN+3BlB;EM53BI;IApCJ,cAAc;IACd,WAAW;ENm6BX;EMr5BA;IACE,cAAc;IACd,WAAoB;ENu5BtB;EMz5BA;IACE,cAAc;IACd,UAAoB;EN25BtB;EM75BA;IACE,cAAc;IACd,iBAAoB;EN+5BtB;EMj6BA;IACE,cAAc;IACd,UAAoB;ENm6BtB;EMr6BA;IACE,cAAc;IACd,UAAoB;ENu6BtB;EMz6BA;IACE,cAAc;IACd,iBAAoB;EN26BtB;EM54BI;IAhDJ,cAAc;IACd,WAAW;EN+7BX;EM14BQ;IA3DR,cAAc;IACd,gBAAmC;ENw8BnC;EM94BQ;IA3DR,cAAc;IACd,iBAAmC;EN48BnC;EMl5BQ;IA3DR,cAAc;IACd,UAAmC;ENg9BnC;EMt5BQ;IA3DR,cAAc;IACd,iBAAmC;ENo9BnC;EM15BQ;IA3DR,cAAc;IACd,iBAAmC;ENw9BnC;EM95BQ;IA3DR,cAAc;IACd,UAAmC;EN49BnC;EMl6BQ;IA3DR,cAAc;IACd,iBAAmC;ENg+BnC;EMt6BQ;IA3DR,cAAc;IACd,iBAAmC;ENo+BnC;EM16BQ;IA3DR,cAAc;IACd,UAAmC;ENw+BnC;EM96BQ;IA3DR,cAAc;IACd,iBAAmC;EN4+BnC;EMl7BQ;IA3DR,cAAc;IACd,iBAAmC;ENg/BnC;EMt7BQ;IA3DR,cAAc;IACd,WAAmC;ENo/BnC;EMl7BU;IAxDV,cAA4B;EN6+B5B;EMr7BU;IAxDV,sBAA8C;ENg/B9C;EMx7BU;IAxDV,uBAA8C;ENm/B9C;EM37BU;IAxDV,gBAA8C;ENs/B9C;EM97BU;IAxDV,uBAA8C;ENy/B9C;EMj8BU;IAxDV,uBAA8C;EN4/B9C;EMp8BU;IAxDV,gBAA8C;EN+/B9C;EMv8BU;IAxDV,uBAA8C;ENkgC9C;EM18BU;IAxDV,uBAA8C;ENqgC9C;EM78BU;IAxDV,gBAA8C;ENwgC9C;EMh9BU;IAxDV,uBAA8C;EN2gC9C;EMn9BU;IAxDV,uBAA8C;EN8gC9C;EM38BM;;IAEE,gBAAwC;EN68BhD;EM18BM;;IAEE,gBAAwC;EN48BhD;EMn9BM;;IAEE,sBAAwC;ENq9BhD;EMl9BM;;IAEE,sBAAwC;ENo9BhD;EM39BM;;IAEE,qBAAwC;EN69BhD;EM19BM;;IAEE,qBAAwC;EN49BhD;EMn+BM;;IAEE,mBAAwC;ENq+BhD;EMl+BM;;IAEE,mBAAwC;ENo+BhD;EM3+BM;;IAEE,qBAAwC;EN6+BhD;EM1+BM;;IAEE,qBAAwC;EN4+BhD;EMn/BM;;IAEE,mBAAwC;ENq/BhD;EMl/BM;;IAEE,mBAAwC;ENo/BhD;AACF;;AO9jCM;EAEI,0BAA+D;APgkCzE;;AOlkCM;EAEI,gCAA+D;APokCzE;;AOtkCM;EAEI,yBAA+D;APwkCzE;;AO1kCM;EAEI,yBAA+D;AP4kCzE;;AO9kCM;EAEI,6BAA+D;APglCzE;;AOllCM;EAEI,8BAA+D;APolCzE;;AOtlCM;EAEI,wBAA+D;APwlCzE;;AO1lCM;EAEI,+BAA+D;AP4lCzE;;AO9lCM;EAEI,wBAA+D;APgmCzE;;AOlmCM;EAEI,yBAA+D;APomCzE;;AOtmCM;EAEI,8BAA+D;APwmCzE;;AO1mCM;EAEI,iCAA+D;AP4mCzE;;AO9mCM;EAEI,sCAA+D;APgnCzE;;AOlnCM;EAEI,yCAA+D;APonCzE;;AOtnCM;EAEI,uBAA+D;APwnCzE;;AO1nCM;EAEI,uBAA+D;AP4nCzE;;AO9nCM;EAEI,yBAA+D;APgoCzE;;AOloCM;EAEI,yBAA+D;APooCzE;;AOtoCM;EAEI,0BAA+D;APwoCzE;;AO1oCM;EAEI,4BAA+D;AP4oCzE;;AO9oCM;EAEI,kCAA+D;APgpCzE;;AOlpCM;EAEI,sCAA+D;APopCzE;;AOtpCM;EAEI,oCAA+D;APwpCzE;;AO1pCM;EAEI,kCAA+D;AP4pCzE;;AO9pCM;EAEI,yCAA+D;APgqCzE;;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AA+D;AP8oDzE;;AOhpDM;EAEI,6BAA+D;APkpDzE;;AG9nDI;EItBE;IAEI,0BAA+D;EPupDvE;EOzpDI;IAEI,gCAA+D;EP0pDvE;EO5pDI;IAEI,yBAA+D;EP6pDvE;EO/pDI;IAEI,yBAA+D;EPgqDvE;EOlqDI;IAEI,6BAA+D;EPmqDvE;EOrqDI;IAEI,8BAA+D;EPsqDvE;EOxqDI;IAEI,wBAA+D;EPyqDvE;EO3qDI;IAEI,+BAA+D;EP4qDvE;EO9qDI;IAEI,wBAA+D;EP+qDvE;EOjrDI;IAEI,yBAA+D;EPkrDvE;EOprDI;IAEI,8BAA+D;EPqrDvE;EOvrDI;IAEI,iCAA+D;EPwrDvE;EO1rDI;IAEI,sCAA+D;EP2rDvE;EO7rDI;IAEI,yCAA+D;EP8rDvE;EOhsDI;IAEI,uBAA+D;EPisDvE;EOnsDI;IAEI,uBAA+D;EPosDvE;EOtsDI;IAEI,yBAA+D;EPusDvE;EOzsDI;IAEI,yBAA+D;EP0sDvE;EO5sDI;IAEI,0BAA+D;EP6sDvE;EO/sDI;IAEI,4BAA+D;EPgtDvE;EOltDI;IAEI,kCAA+D;EPmtDvE;EOrtDI;IAEI,sCAA+D;EPstDvE;EOxtDI;IAEI,oCAA+D;EPytDvE;EO3tDI;IAEI,kCAA+D;EP4tDvE;EO9tDI;IAEI,yCAA+D;EP+tDvE;EOjuDI;IAEI,wCAA+D;EPkuDvE;EOpuDI;IAEI,wCAA+D;EPquDvE;EOvuDI;IAEI,kCAA+D;EPwuDvE;EO1uDI;IAEI,gCAA+D;EP2uDvE;EO7uDI;IAEI,8BAA+D;EP8uDvE;EOhvDI;IAEI,gCAA+D;EPivDvE;EOnvDI;IAEI,+BAA+D;EPovDvE;EOtvDI;IAEI,oCAA+D;EPuvDvE;EOzvDI;IAEI,kCAA+D;EP0vDvE;EO5vDI;IAEI,gCAA+D;EP6vDvE;EO/vDI;IAEI,uCAA+D;EPgwDvE;EOlwDI;IAEI,sCAA+D;EPmwDvE;EOrwDI;IAEI,iCAA+D;EPswDvE;EOxwDI;IAEI,2BAA+D;EPywDvE;EO3wDI;IAEI,iCAA+D;EP4wDvE;EO9wDI;IAEI,+BAA+D;EP+wDvE;EOjxDI;IAEI,6BAA+D;EPkxDvE;EOpxDI;IAEI,+BAA+D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OrhEI;IAEI,yBAA+D;EPshEvE;EOxhEI;IAEI,+BAA+D;EPyhEvE;EO3hEI;IAEI,8BAA+D;EP4hEvE;EO9hEI;IAEI,4BAA+D;EP+hEvE;EOjiEI;IAEI,8BAA+D;EPkiEvE;EOpiEI;IAEI,4BAA+D;EPqiEvE;EOviEI;IAEI,2BAA+D;EPwiEvE;EO1iEI;IAEI,iCAA+D;EP2iEvE;EO7iEI;IAEI,gCAA+D;EP8iEvE;EOhjEI;IAEI,8BAA+D;EPijEvE;EOnjEI;IAEI,gCAA+D;EPojEvE;EOtjEI;IAEI,8BAA+D;EPujEvE;EOzjEI;IAEI,4BAA+D;EP0jEvE;EO5jEI;IAEI,kCAA+D;EP6jEvE;EO/jEI;IAEI,iCAA+D;EPgkEvE;EOlkEI;IAEI,+BAA+D;EPmkEvE;EOrkEI;IAEI,iCAA+D;EPskEvE;EOxkEI;IAEI,+BAA+D;EPykEvE;EO3kEI;IAEI,0BAA+D;EP4kEvE;EO9kEI;IAEI,gCAA+D;EP+kEvE;EOjlEI;IAEI,+BAA+D;EPklEvE;EOplEI;IAEI,6BAA+D;EPqlEvE;EOvlEI;IAEI,+BAA+D;EPwlEvE;EO1lEI;IAEI,6BAA+D;EP2lEvE;AACF;;AGxkEI;EItBE;IAEI,0BAA+D;EPimEvE;EOnmEI;IAEI,gCAA+D;EPomEvE;EOtmEI;IAEI,yBAA+D;EPumEvE;EOzmEI;IAEI,yBAA+D;EP0mEvE;EO5mEI;IAEI,6BAA+D;EP6mEvE;EO/mEI;IAEI,8BAA+D;EPgnEvE;EOlnEI;IAEI,wBAA+D;EPmnEvE;EOrnEI;IAEI,+BAA+D;EPsnEvE;EOxnEI;IAEI,wBAA+D;EPynEvE;EO3nEI;IAEI,yBAA+D;EP4nEvE;EO9nEI;IAEI,8BAA+D;EP+nEvE;EOjoEI;IAEI,iCAA+D;EPkoEvE;EOpoEI;IAEI,sCAA+D;EPqoEvE;EOvoEI;IAEI,yCAA+D;EPwoEvE;EO1oEI;IAEI,uBAA+D;EP2oEvE;EO7oEI;IAEI,uBAA+D;EP8oEvE;EOhpEI;IAEI,yBAA+D;EPipEvE;EOnpEI;IAEI,yBAA+D;EPopEvE;EOtpEI;IAEI,0BAA+D;EPupEvE;EOzpEI;IAEI,4BAA+D;EP0pEvE;E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FvE;EOjiFI;IAEI,+BAA+D;EPkiFvE;EOpiFI;IAEI,6BAA+D;EPqiFvE;AACF;;AGlhFI;EItBE;IAEI,0BAA+D;EP2iFvE;EO7iFI;IAEI,gCAA+D;EP8iFvE;EOhjFI;IAEI,yBAA+D;EPijFvE;EOnjFI;IAEI,yBAA+D;EPojFvE;EOtjFI;IAEI,6BAA+D;EPujFvE;EOzjFI;IAEI,8BAA+D;EP0jFvE;EO5jFI;IAEI,wBAA+D;EP6jFvE;EO/jFI;IAEI,+BAA+D;EPgkFvE;EOlkFI;IAEI,wBAA+D;EPmkFvE;EOrkFI;IAEI,yBAA+D;EPskFvE;EOxkFI;IAEI,8BAA+D;EPykFvE;EO3kFI;IAEI,iCAA+D;EP4kFvE;EO9kFI;IAEI,sCAA+D;EP+kFvE;EOjlFI;IAEI,yCAA+D;EPklFvE;EOplFI;IAEI,uBAA+D;EPqlFvE;EOvlFI;IAEI,uBAA+D;EPwlFvE;EO1lFI;IAEI,yBAA+D;EP2lFvE;EO7lFI;IAEI,yBAA+D;EP8lFvE;EOhmFI;IAEI,0BAA+D;EPimFvE;EOnmFI;IAEI,4BAA+D;EPomFvE;EOtmFI;IAEI,kCAA+D;EPumFvE;EOzmFI;IAEI,sCAA+D;EP0mFvE;EO5mFI;IAEI,oCAA+D;EP6mFvE;EO/mFI;IAEI,kCAA+D;EPgnFvE;EOlnFI;IAEI,yCAA+D;EPmnFvE;EOrnFI;IAEI,wCAA+D;EPsnFvE;EOxnFI;IAEI,wCAA+D;EPynFvE;EO3nFI;IAEI,kCAA+D;EP4nFvE;EO9nFI;IAEI,gCAA+D;EP+nFvE;EOjoFI;IAEI,8BAA+D;EPkoFvE;EOpoFI;IAEI,gCAA+D;EPqoFvE;EOvoFI;IAEI,+BAA+D;EPwoFvE;EO1oFI;IAEI,oCAA+D;EP2oFvE;EO7oFI;IAEI,kCAA+D;EP8oFvE;EOhpFI;IAEI,gCAA+D;EPipFvE;EOnpFI;IAEI,uCAA+D;EPopFvE;EOtpFI;IAEI,sCAA+D;EPupFvE;EOzpFI;IAEI,iCAA+D;EP0pFvE;EO5pFI;IAEI,2BAA+D;EP6pFvE;EO/pFI;IAEI,iCAA+D;EPgqFvE;EOlqFI;IAEI,+BAA+D;EPmqFvE;EOrqFI;IAEI,6BAA+D;EPsq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IAA/D,+BAA+D;EPu6FvE;EOz6FI;IAEI,yBAA+D;EP06FvE;EO56FI;IAEI,+BAA+D;EP66FvE;EO/6FI;IAEI,8BAA+D;EPg7FvE;EOl7FI;IAEI,4BAA+D;EPm7FvE;EOr7FI;IAEI,8BAA+D;EPs7FvE;EOx7FI;IAEI,4BAA+D;EPy7FvE;EO37FI;IAEI,2BAA+D;EP47FvE;EO97FI;IAEI,iCAA+D;EP+7FvE;EOj8FI;IAEI,gCAA+D;EPk8FvE;EOp8FI;IAEI,8BAA+D;EPq8FvE;EOv8FI;IAEI,gCAA+D;EPw8FvE;EO18FI;IAEI,8BAA+D;EP28FvE;EO78FI;IAEI,4BAA+D;EP88FvE;EOh9FI;IAEI,kCAA+D;EPi9FvE;EOn9FI;IAEI,iCAA+D;EPo9FvE;EOt9FI;IAEI,+BAA+D;EPu9FvE;EOz9FI;IAEI,iCAA+D;EP09FvE;EO59FI;IAEI,+BAA+D;EP69FvE;EO/9FI;IAEI,0BAA+D;EPg+FvE;EOl+FI;IAEI,gCAA+D;EPm+FvE;EOr+FI;IAEI,+BAA+D;EPs+FvE;EOx+FI;IAEI,6BAA+D;EPy+FvE;EO3+FI;IAEI,+BAA+D;EP4+FvE;EO9+FI;IAEI,6BAA+D;EP++FvE;AACF;;AG59FI;EItBE;IAEI,0BAA+D;EPq/FvE;EOv/FI;IAEI,gCAA+D;EPw/FvE;EO1/FI;IAEI,yBAA+D;EP2/FvE;EO7/FI;IAEI,yBAA+D;EP8/FvE;EOhgGI;IAEI,6BAA+D;EPigGvE;EOngGI;IAEI,8BAA+D;EPogGvE;EOtgGI;IAEI,wBAA+D;EPugGvE;EOzgGI;IAEI,+BAA+D;EP0gGvE;EO5gGI;IAEI,wBAA+D;EP6gGvE;EO/gGI;IAEI,yBAA+D;EPghGvE;EOlhGI;IAEI,8BAA+D;EPmhGvE;EOrhGI;IAEI,iCAA+D;EPshGvE;EOxhGI;IAEI,sCAA+D;EPyhGvE;EO3hGI;IAEI,yCAA+D;EP4hGvE;EO9hGI;IAEI,uBAA+D;EP+hGvE;EOjiGI;IAEI,uBAA+D;EPkiGvE;EOpiGI;IAEI,yBAA+D;EPqiGvE;EOviGI;IAEI,yBAA+D;EPwiGvE;EO1iGI;IAEI,0BAA+D;EP2iGvE;EO7iGI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Ol7GI;IAEI,6BAA+D;EPm7GvE;EOr7GI;IAEI,+BAA+D;EPs7GvE;EOx7GI;IAEI,6BAA+D;EPy7GvE;AACF;;AGt6GI;EItBE;IAEI,0BAA+D;EP+7GvE;EOj8GI;IAEI,gCAA+D;EPk8GvE;EOp8GI;IAEI,yBAA+D;EPq8GvE;EOv8GI;IAEI,yBAA+D;EPw8GvE;EO18GI;IAEI,6BAA+D;EP28GvE;EO78GI;IAEI,8BAA+D;EP88GvE;EOh9GI;IAEI,wBAA+D;EPi9GvE;EOn9GI;IAEI,+BAA+D;EPo9GvE;EOt9GI;IAEI,wBAA+D;EPu9GvE;EOz9GI;IAEI,yBAA+D;EP09GvE;EO59GI;IAEI,8BAA+D;EP69GvE;EO/9GI;IAEI,iCAA+D;EPg+GvE;EOl+GI;IAEI,sCAA+D;EPm+GvE;EOr+GI;IAEI,yCAA+D;EPs+GvE;EOx+GI;IAEI,uBAA+D;EPy+GvE;EO3+GI;IAEI,uBAA+D;EP4+GvE;EO9+GI;IAEI,yBAA+D;EP++GvE;EOj/GI;IAEI,yBAA+D;EPk/GvE;EOp/GI;IAEI,0BAA+D;EPq/GvE;EOv/GI;IAEI,4BAA+D;EPw/GvE;EO1/GI;IAEI,kCAA+D;EP2/GvE;EO7/GI;IAEI,sCAA+D;EP8/GvE;EOhgHI;IAEI,oCAA+D;EPigHvE;EOngHI;IAEI,kCAA+D;EPogHvE;EOtgHI;IAEI,yCAA+D;EPugHvE;EOzgHI;IAEI,wCAA+D;EP0gHvE;EO5gHI;IAEI,wCAA+D;EP6gHvE;EO/gHI;IAEI,kCAA+D;EPghHvE;EOlhHI;IAEI,gCAA+D;EPmhHvE;EOrhHI;IAEI,8BAA+D;EPshHvE;EOxhHI;IAEI,gCAA+D;EPyhHvE;EO3hHI;IAEI,+BAA+D;EP4hHvE;EO9hHI;IAEI,oCAA+D;EP+hHvE;EOjiHI;IAEI,kCAA+D;EPkiHvE;EOpiHI;IAEI,gCAA+D;EPqiHvE;EOviHI;IAEI,uCAA+D;EPwiHvE;EO1iHI;IAEI,sCAA+D;EP2iHvE;EO7iHI;IAEI,iCAA+D;EP8iHvE;EOhjHI;IAEI,2BAA+D;EPijHvE;EOnjHI;IAEI,iCAA+D;EPojHvE;EOtjHI;IAEI,+BAA+D;EPujHvE;E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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Grid v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl,\n.container-xxl {\n --bs-gutter-x: 1.5rem;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n@media (min-width: 1400px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {\n max-width: 1320px;\n }\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --bs-gutter-x: #{$gutter};\n\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer / 4,\n 2: $spacer / 2,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: scale-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-widths: (\n 0: 0,\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n\n$table-variants: (\n \"primary\": scale-color($primary, $table-bg-scale),\n \"secondary\": scale-color($secondary, $table-bg-scale),\n \"success\": scale-color($success, $table-bg-scale),\n \"info\": scale-color($info, $table-bg-scale),\n \"warning\": scale-color($warning, $table-bg-scale),\n \"danger\": scale-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: background-color .15s ease-in-out, background-position .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n$form-file-padding-y-sm: $input-padding-y-sm !default;\n$form-file-padding-x-sm: $input-padding-x-sm !default;\n$form-file-font-size-sm: $input-font-size-sm !default;\n$form-file-height-sm: $input-height-sm !default;\n\n$form-file-padding-y-lg: $input-padding-y-lg !default;\n$form-file-padding-x-lg: $input-padding-x-lg !default;\n$form-file-font-size-lg: $input-font-size-lg !default;\n$form-file-height-lg: $input-height-lg !default;\n\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' 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'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: null !default;\n$nav-link-hover-color: null !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($gray-900, 10%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: $spacer / 4 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n// Cards\n\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer / 2 !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y / 2 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: $spacer !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer / 4 !default;\n$tooltip-padding-x: $spacer / 2 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: $spacer !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 50% !default;\n\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer / 2 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 50% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: $spacer / 2 !default;\n$breadcrumb-padding-x: $spacer !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-border-radius: $border-radius !default;\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$btn-close-color}' viewBox='0 0 16 16'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-prefix}gutter-y);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.css b/dist/css/bootstrap-reboot.css
index 714c7df489..a93aaa3d8f 100644
--- a/dist/css/bootstrap-reboot.css
+++ b/dist/css/bootstrap-reboot.css
@@ -11,9 +11,15 @@
box-sizing: border-box;
}
+@media (prefers-reduced-motion: no-preference) {
+ :root {
+ scroll-behavior: smooth;
+ }
+}
+
body {
margin: 0;
- font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
@@ -183,7 +189,7 @@ a {
}
a:hover {
- color: #024dbc;
+ color: #0a58ca;
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
diff --git a/dist/css/bootstrap-reboot.css.map b/dist/css/bootstrap-reboot.css.map
index f83c00a6e4..03a7fd7185 100644
--- a/dist/css/bootstrap-reboot.css.map
+++ b/dist/css/bootstrap-reboot.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAAA;;;;;;ECME;ACSF;;;EAGE,sBAAsB;ADPxB;;AC4BA;EACE,SAAS;EACT,yLCiWwM;EC/IpM,eAvE+B;EFzInC,gBC8W+B;ED7W/B,gBCmX+B;EDlX/B,cC7BgB;ED+BhB,sBCxCa;EDyCb,8BAA8B;EAC9B,6CChCa;AFMf;;AAEA;ECsCE,qBAAqB;ADpCvB;;AC6CA;EACE,cAAsB;EACtB,cCsYmC;EDrYnC,8BAA8B;EAC9B,SAAS;EACT,aCqY+B;AF/ajC;;AC6CA;EACE,WCwQ+B;AFlTjC;;ACoDA;EACE,aAAa;EACb,qBC6UuC;ED1UvC,gBC6U+B;ED5U/B,gBC6U+B;AFhYjC;;ACuDA;EE0JQ,iCAf6B;AH9LrC;;AG2CI;EFQJ;IEiKQ,iBAlF6B;EH7HnC;AACF;;ACkDA;EEqJQ,iCAf6B;AHpLrC;;AGiCI;EFaJ;IE4JQ,eAlF6B;EHnHnC;AACF;;AC6CA;EEgJQ,+BAf6B;AH1KrC;;AGuBI;EFkBJ;IEuJQ,kBAlF6B;EHzGnC;AACF;;ACwCA;EE2IQ,iCAf6B;AHhKrC;;AGaI;EFuBJ;IEkJQ,iBAlF6B;EH/FnC;AACF;;ACmCA;EEkIM,kBAvE+B;AH1FrC;;ACoCA;EE6HM,eAvE+B;AHtFrC;;AC2CA;EACE,aAAa;EACb,mBCmJ8B;AF3LhC;;ACmDA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;ADhDhC;;ACsDA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;ADnDtB;;ACyDA;;EAEE,kBAAkB;ADtDpB;;ACyDA;;;EAGE,aAAa;EACb,mBAAmB;ADtDrB;;ACyDA;;;;EAIE,gBAAgB;ADtDlB;;ACyDA;EACE,gBC4N+B;AFlRjC;;AC2DA;EACE,oBAAoB;EACpB,cAAc;ADxDhB;;AC8DA;EACE,gBAAgB;AD3DlB;;ACmEA;;EAEE,mBCqMkC;AFrQpC;;ACwEA;EE6BM,kBAvE+B;AH1BrC;;AC2EA;EACE,cCkPgC;EDjPhC,yBCyPmC;AFjUrC;;ACiFA;;EAEE,kBAAkB;EESd,iBAvE+B;EFgEnC,cAAc;EACd,wBAAwB;AD9E1B;;ACiFA;EAAM,cAAc;AD7EpB;;AC8EA;EAAM,UAAU;AD1EhB;;AC+EA;EACE,cC9Ne;ED+Nf,0BCiBiD;AF7FnD;;AC0EA;EAKI,cCe8D;AF1FlE;;ACqFA;EAGI,cAAc;EACd,qBAAqB;ADpFzB;;AC2FA;;;;EAIE,iGC+GgH;EChJ5G,cAvE+B;AHiBrC;;ACiGA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EE/CV,kBAvE+B;EFyHnC,6BAA6B;AD/F/B;;ACwFA;EE3CM,kBAvE+B;EF8HjC,cAAc;EACd,kBAAkB;AD/FtB;;ACmGA;EE5DM,kBAvE+B;EFqInC,cCrRe;EDsRf,qBAAqB;ADhGvB;;ACmGE;EACE,cAAc;ADhGlB;;ACoGA;EACE,sBCm9BuC;EC3hCnC,kBAvE+B;EFiJnC,WC9Ta;ED+Tb,yBCtTgB;EEEd,qBF2U+B;AFvHnC;;AC4FA;EAQI,UAAU;EE/ER,cAvE+B;EFwJjC,gBC8E6B;AF9KjC;;ACyGA;EACE,gBAAgB;ADtGlB;;AC4GA;;EAEE,sBAAsB;ADzGxB;;ACiHA;EACE,oBAAoB;EACpB,yBAAyB;AD9G3B;;ACiHA;EACE,mBC4HiC;ED3HjC,sBC2HiC;ED1HjC,cCjWgB;EDkWhB,gBAAgB;AD9GlB;;ACqHA;EAEE,mBAAmB;EACnB,gCAAgC;ADnHlC;;ACsHA;;;;;;EAME,qBAAqB;EACrB,mBAAmB;EACnB,eAAe;ADnHjB;;AC2HA;EACE,qBAAqB;ADxHvB;;AC8HA;EAEE,gBAAgB;AD5HlB;;ACmIA;EACE,mBAAmB;EACnB,0CAA0C;ADhI5C;;ACqIA;;;;;EAKE,SAAS;EACT,oBAAoB;EE9KhB,kBAvE+B;EFuPnC,oBAAoB;ADlItB;;ACuIA;;EAEE,iBAAiB;ADpInB;;ACyIA;;EAEE,oBAAoB;ADtItB;;AAEA;EC2IE,eAAe;ADzIjB;;AC+IA;EACE,iBAAiB;AD5InB;;AAEA;ECiJE,aAAa;AD/If;;ACuJA;;;;EAIE,0BAA0B;ADpJ5B;;ACgJA;;;;EAQM,eAAe;ADjJrB;;ACwJA;EACE,UAAU;EACV,kBAAkB;ADrJpB;;AC0JA;EACE,gBAAgB;ADvJlB;;ACiKA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AD9JX;;ACuKA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBCpDiC;ECrN3B,iCAf6B;EF2RnC,oBAAoB;EACpB,mBAAmB;ADrKrB;;AG1QI;EFuaJ;IE9PQ,iBAlF6B;EHwLnC;AACF;;ACuJA;EAWI,WAAW;AD9Jf;;ACqKA;;;;;;;EAOE,UAAU;ADlKZ;;ACqKA;EACE,YAAY;ADlKd;;AAEA;EC0KE,oBAAoB;EACpB,6BAA6B;ADxK/B;;AC6KA;EACE,wBAAwB;AD1K1B;;AC+KA;EACE,UAAU;AD5KZ;;ACkLA;EACE,aAAa;EACb,0BAA0B;AD/K5B;;ACoLA;EACE,qBAAqB;ADjLvB;;ACsLA;EACE,SAAS;ADnLX;;AC0LA;EACE,kBAAkB;EAClB,eAAe;ADvLjB;;AC+LA;EACE,wBAAwB;AD5L1B;;AAEA;ECmME,wBAAwB;ADjM1B","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n// Prevent the usage of custom properties since we don't add them to `:root` in reboot\n$font-family-base: $font-family-sans-serif; // stylelint-disable-line scss/dollar-variable-default\n$font-family-code: $font-family-monospace; // stylelint-disable-line scss/dollar-variable-default\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #024dbc;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n -ms-overflow-style: scrollbar;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n// 4. Disable auto-hiding scrollbar in legacy Edge to avoid overlap,\n// making it impossible to interact with the content\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n -ms-overflow-style: scrollbar; // 4\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Correct the text wrapping in Edge.\n// 3. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n white-space: normal; // 2\n\n + * {\n clear: left; // 3\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-grid-classes: true !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer / 4,\n 2: $spacer / 2,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: null !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-widths: (\n 0: 0,\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--bs-font-sans-serif) !default;\n$font-family-code: var(--bs-font-monospace) !default;\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n\n$table-variants: (\n \"primary\": color-level($primary, $table-bg-level),\n \"secondary\": color-level($secondary, $table-bg-level),\n \"success\": color-level($success, $table-bg-level),\n \"info\": color-level($info, $table-bg-level),\n \"warning\": color-level($warning, $table-bg-level),\n \"danger\": color-level($danger, $table-bg-level),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: background-color .15s ease-in-out, background-position .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n$form-file-padding-y-sm: $input-padding-y-sm !default;\n$form-file-padding-x-sm: $input-padding-x-sm !default;\n$form-file-font-size-sm: $input-font-size-sm !default;\n$form-file-height-sm: $input-height-sm !default;\n\n$form-file-padding-y-lg: $input-padding-y-lg !default;\n$form-file-padding-x-lg: $input-padding-x-lg !default;\n$form-file-font-size-lg: $input-font-size-lg !default;\n$form-file-height-lg: $input-height-lg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' 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'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: null !default;\n$nav-link-hover-color: null !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: $spacer / 4 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n// Cards\n\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer / 2 !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y / 2 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: $spacer !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer / 4 !default;\n$tooltip-padding-x: $spacer / 2 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: $spacer !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer / 2 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-level: -9 !default;\n$list-group-item-color-level: 6 !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: $spacer / 2 !default;\n$breadcrumb-padding-x: $spacer !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-border-radius: $border-radius !default;\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$btn-close-color}' viewBox='0 0 16 16'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/_functions.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAAA;;;;;;ECME;ACSF;;;EAGE,sBAAsB;ADPxB;;ACoBI;EAJJ;IAKM,uBAAuB;EDhB3B;AACF;;AC4BA;EACE,SAAS;EACT,4MC4V2N;EChJvN,eAvE+B;EFnInC,gBCyW+B;EDxW/B,gBC8W+B;ED7W/B,cCnCgB;EDqChB,sBC9Ca;ED+Cb,8BAA8B;EAC9B,6CCtCa;AFYf;;AAEA;ECsCE,qBAAqB;ADpCvB;;AC6CA;EACE,cAAsB;EACtB,cC4YmC;ED3YnC,8BAA8B;EAC9B,SAAS;EACT,aC2Y+B;AFrbjC;;AC6CA;EACE,WCmQ+B;AF7SjC;;ACoDA;EACE,aAAa;EACb,qBCmVuC;EDhVvC,gBCmV+B;EDlV/B,gBCmV+B;AFtYjC;;ACuDA;EEoJQ,iCAf6B;AHxLrC;;AGqCI;EFcJ;IE2JQ,iBAlF6B;EHvHnC;AACF;;ACkDA;EE+IQ,iCAf6B;AH9KrC;;AG2BI;EFmBJ;IEsJQ,eAlF6B;EH7GnC;AACF;;AC6CA;EE0IQ,+BAf6B;AHpKrC;;AGiBI;EFwBJ;IEiJQ,kBAlF6B;EHnGnC;AACF;;ACwCA;EEqIQ,iCAf6B;AH1JrC;;AGOI;EF6BJ;IE4IQ,iBAlF6B;EHzFnC;AACF;;ACmCA;EE4HM,kBAvE+B;AHpFrC;;ACoCA;EEuHM,eAvE+B;AHhFrC;;AC2CA;EACE,aAAa;EACb,mBC8I8B;AFtLhC;;ACmDA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;ADhDhC;;ACsDA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;ADnDtB;;ACyDA;;EAEE,kBAAkB;ADtDpB;;ACyDA;;;EAGE,aAAa;EACb,mBAAmB;ADtDrB;;ACyDA;;;;EAIE,gBAAgB;ADtDlB;;ACyDA;EACE,gBCuN+B;AF7QjC;;AC2DA;EACE,oBAAoB;EACpB,cAAc;ADxDhB;;AC8DA;EACE,gBAAgB;AD3DlB;;ACmEA;;EAEE,mBCgMkC;AFhQpC;;ACwEA;EEuBM,kBAvE+B;AHpBrC;;AC2EA;EACE,cCwPgC;EDvPhC,yBC+PmC;AFvUrC;;ACiFA;;EAEE,kBAAkB;EEGd,iBAvE+B;EFsEnC,cAAc;EACd,wBAAwB;AD9E1B;;ACiFA;EAAM,cAAc;AD7EpB;;AC8EA;EAAM,UAAU;AD1EhB;;AC+EA;EACE,cCpOe;EDqOf,0BCaiD;AFzFnD;;AC0EA;EAKI,cGzGiC;AJ8BrC;;ACqFA;EAGI,cAAc;EACd,qBAAqB;ADpFzB;;AC2FA;;;;EAIE,iGC0GgH;ECjJ5G,cAvE+B;AHuBrC;;ACiGA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EErDV,kBAvE+B;EF+HnC,6BAA6B;AD/F/B;;ACwFA;EEjDM,kBAvE+B;EFoIjC,cAAc;EACd,kBAAkB;AD/FtB;;ACmGA;EElEM,kBAvE+B;EF2InC,cC3Re;ED4Rf,qBAAqB;ADhGvB;;ACmGE;EACE,cAAc;ADhGlB;;ACoGA;EACE,sBCo+BuC;ECljCnC,kBAvE+B;EFuJnC,WCpUa;EDqUb,yBC5TgB;EGEd,qBH4U+B;AFlHnC;;AC4FA;EAQI,UAAU;EErFR,cAvE+B;EF8JjC,gBCyE6B;AFzKjC;;ACyGA;EACE,gBAAgB;ADtGlB;;AC4GA;;EAEE,sBAAsB;ADzGxB;;ACiHA;EACE,oBAAoB;EACpB,yBAAyB;AD9G3B;;ACiHA;EACE,mBCkIiC;EDjIjC,sBCiIiC;EDhIjC,cCvWgB;EDwWhB,gBAAgB;AD9GlB;;ACqHA;EAEE,mBAAmB;EACnB,gCAAgC;ADnHlC;;ACsHA;;;;;;EAME,qBAAqB;EACrB,mBAAmB;EACnB,eAAe;ADnHjB;;AC2HA;EACE,qBAAqB;ADxHvB;;AC8HA;EAEE,gBAAgB;AD5HlB;;ACmIA;EACE,mBAAmB;EACnB,0CAA0C;ADhI5C;;ACqIA;;;;;EAKE,SAAS;EACT,oBAAoB;EEpLhB,kBAvE+B;EF6PnC,oBAAoB;ADlItB;;ACuIA;;EAEE,iBAAiB;ADpInB;;ACyIA;;EAEE,oBAAoB;ADtItB;;AAEA;EC2IE,eAAe;ADzIjB;;AC+IA;EACE,iBAAiB;AD5InB;;AAEA;ECiJE,aAAa;AD/If;;ACuJA;;;;EAIE,0BAA0B;ADpJ5B;;ACgJA;;;;EAQM,eAAe;ADjJrB;;ACwJA;EACE,UAAU;EACV,kBAAkB;ADrJpB;;AC0JA;EACE,gBAAgB;ADvJlB;;ACiKA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AD9JX;;ACuKA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBC9CiC;ECjO3B,iCAf6B;EFiSnC,oBAAoB;EACpB,mBAAmB;ADrKrB;;AGhRI;EF6aJ;IEpQQ,iBAlF6B;EH8LnC;AACF;;ACuJA;EAWI,WAAW;AD9Jf;;ACqKA;;;;;;;EAOE,UAAU;ADlKZ;;ACqKA;EACE,YAAY;ADlKd;;AAEA;EC0KE,oBAAoB;EACpB,6BAA6B;ADxK/B;;AC6KA;EACE,wBAAwB;AD1K1B;;AC+KA;EACE,UAAU;AD5KZ;;ACkLA;EACE,aAAa;EACb,0BAA0B;AD/K5B;;ACoLA;EACE,qBAAqB;ADjLvB;;ACsLA;EACE,SAAS;ADnLX;;AC0LA;EACE,kBAAkB;EAClB,eAAe;ADvLjB;;AC+LA;EACE,wBAAwB;AD5L1B;;AAEA;ECmME,wBAAwB;ADjM1B","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n// Prevent the usage of custom properties since we don't add them to `:root` in reboot\n$font-family-base: $font-family-sans-serif; // stylelint-disable-line scss/dollar-variable-default\n$font-family-code: $font-family-monospace; // stylelint-disable-line scss/dollar-variable-default\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #0a58ca;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n -ms-overflow-style: scrollbar;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n// 4. Disable auto-hiding scrollbar in legacy Edge to avoid overlap,\n// making it impossible to interact with the content\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n -ms-overflow-style: scrollbar; // 4\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Correct the text wrapping in Edge.\n// 3. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n white-space: normal; // 2\n\n + * {\n clear: left; // 3\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer / 4,\n 2: $spacer / 2,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: scale-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-widths: (\n 0: 0,\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n\n$table-variants: (\n \"primary\": scale-color($primary, $table-bg-scale),\n \"secondary\": scale-color($secondary, $table-bg-scale),\n \"success\": scale-color($success, $table-bg-scale),\n \"info\": scale-color($info, $table-bg-scale),\n \"warning\": scale-color($warning, $table-bg-scale),\n \"danger\": scale-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: background-color .15s ease-in-out, background-position .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n$form-file-padding-y-sm: $input-padding-y-sm !default;\n$form-file-padding-x-sm: $input-padding-x-sm !default;\n$form-file-font-size-sm: $input-font-size-sm !default;\n$form-file-height-sm: $input-height-sm !default;\n\n$form-file-padding-y-lg: $input-padding-y-lg !default;\n$form-file-padding-x-lg: $input-padding-x-lg !default;\n$form-file-font-size-lg: $input-font-size-lg !default;\n$form-file-height-lg: $input-height-lg !default;\n\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' 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'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: null !default;\n$nav-link-hover-color: null !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($gray-900, 10%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: $spacer / 4 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n// Cards\n\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer / 2 !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y / 2 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: $spacer !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer / 4 !default;\n$tooltip-padding-x: $spacer / 2 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: $spacer !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 50% !default;\n\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer / 2 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 50% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: $spacer / 2 !default;\n$breadcrumb-padding-x: $spacer !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-border-radius: $border-radius !default;\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$btn-close-color}' viewBox='0 0 16 16'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n @if length($map) > 0 {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n }\n}\n\n// Internal Bootstrap function to turn maps into its negative variant.\n// It prefixes the keys with `n` and makes the value negative.\n@function negativify-map($map) {\n $result: ();\n @each $key, $value in $map {\n @if $key != 0 {\n $result: map-merge($result, (\"n\" + $key: (-$value)));\n }\n }\n @return $result;\n}\n\n// Get multiple keys from a sass map\n@function map-get-multiple($map, $values) {\n $result: ();\n @each $key, $value in $map {\n @if (index($values, $key) != null) {\n $result: map-merge($result, ($key: $value));\n }\n }\n @return $result;\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n//\n// Requires the use of quotes around data URIs.\n\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n // Do not escape the url brackets\n @if str-index($string, \"url(\") == 1 {\n $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n } @else {\n $string: str-replace($string, $char, $encoded);\n }\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n// See https://github.com/twbs/bootstrap/pull/30168\n\n// A list of pre-calculated numbers of pow(($value / 255 + .055) / 1.055, 2.4). (from 0 to 255)\n// stylelint-disable-next-line scss/dollar-variable-default, scss/dollar-variable-pattern\n$_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1;\n\n@function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light, $min-contrast-ratio: $min-contrast-ratio) {\n $foregrounds: $color-contrast-light, $color-contrast-dark, $white, $black;\n $max-ratio: 0;\n $max-ratio-color: null;\n\n @each $color in $foregrounds {\n $contrast-ratio: contrast-ratio($background, $color);\n @if $contrast-ratio > $min-contrast-ratio {\n @return $color;\n } @else if $contrast-ratio > $max-ratio {\n $max-ratio: $contrast-ratio;\n $max-ratio-color: $color;\n }\n }\n\n @warn \"Found no color leading to #{$min-contrast-ratio}:1 contrast ratio against #{$background}...\";\n\n @return $max-ratio-color;\n}\n\n@function contrast-ratio($background, $foreground: $color-contrast-light) {\n $l1: luminance($background);\n $l2: luminance(opaque($background, $foreground));\n\n @return if($l1 > $l2, ($l1 + .05) / ($l2 + .05), ($l2 + .05) / ($l1 + .05));\n}\n\n// Return WCAG2.0 relative luminance\n// See https://www.w3.org/WAI/GL/wiki/Relative_luminance\n// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n@function luminance($color) {\n $rgb: (\n \"r\": red($color),\n \"g\": green($color),\n \"b\": blue($color)\n );\n\n @each $name, $value in $rgb {\n $value: if($value / 255 < .03928, $value / 255 / 12.92, nth($_luminance-list, $value + 1));\n $rgb: map-merge($rgb, ($name: $value));\n }\n\n @return (map-get($rgb, \"r\") * .2126) + (map-get($rgb, \"g\") * .7152) + (map-get($rgb, \"b\") * .0722);\n}\n\n// Return opaque color\n// opaque(#fff, rgba(0, 0, 0, .5)) => #808080\n@function opaque($background, $foreground) {\n @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100);\n}\n\n// scss-docs-start color-functions\n// Tint a color: mix a color with white\n@function tint-color($color, $weight) {\n @return mix(white, $color, $weight);\n}\n\n// Shade a color: mix a color with black\n@function shade-color($color, $weight) {\n @return mix(black, $color, $weight);\n}\n\n// Scale a color:\n// Shade the color if the weight is positive, else tint it\n@function scale-color($color, $weight) {\n @return if($weight > 0, shade-color($color, $weight), tint-color($color, -$weight));\n}\n// scss-docs-end color-functions\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-utilities.css b/dist/css/bootstrap-utilities.css
index 0500a70339..d76852d306 100644
--- a/dist/css/bootstrap-utilities.css
+++ b/dist/css/bootstrap-utilities.css
@@ -48,6 +48,14 @@
overflow: hidden !important;
}
+.overflow-visible {
+ overflow: visible !important;
+}
+
+.overflow-scroll {
+ overflow: scroll !important;
+}
+
.d-inline {
display: inline !important;
}
@@ -242,7 +250,7 @@
}
.border-dark {
- border-color: #343a40 !important;
+ border-color: #212529 !important;
}
.border-white {
@@ -899,6 +907,38 @@
padding-left: 3rem !important;
}
+.fs-1 {
+ font-size: calc(1.375rem + 1.5vw) !important;
+}
+
+.fs-2 {
+ font-size: calc(1.325rem + 0.9vw) !important;
+}
+
+.fs-3 {
+ font-size: calc(1.3rem + 0.6vw) !important;
+}
+
+.fs-4 {
+ font-size: calc(1.275rem + 0.3vw) !important;
+}
+
+.fs-5 {
+ font-size: 1.25rem !important;
+}
+
+.fs-6 {
+ font-size: 1rem !important;
+}
+
+.fst-italic {
+ font-style: italic !important;
+}
+
+.fst-normal {
+ font-style: normal !important;
+}
+
.font-weight-light {
font-weight: 300 !important;
}
@@ -972,7 +1012,7 @@
}
.text-dark {
- color: #343a40 !important;
+ color: #212529 !important;
}
.text-white {
@@ -1044,7 +1084,7 @@
}
.bg-dark {
- background-color: #343a40 !important;
+ background-color: #212529 !important;
}
.bg-body {
@@ -1083,14 +1123,6 @@
text-decoration: line-through !important;
}
-.font-italic {
- font-style: italic !important;
-}
-
-.font-normal {
- font-style: normal !important;
-}
-
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
@@ -3561,6 +3593,57 @@
}
}
+@media (min-width: 1200px) {
+ .fs-1 {
+ font-size: 2.5rem !important;
+ }
+ .fs-2 {
+ font-size: 2rem !important;
+ }
+ .fs-3 {
+ font-size: 1.75rem !important;
+ }
+ .fs-4 {
+ font-size: 1.5rem !important;
+ }
+ .fs-sm-1 {
+ font-size: 2.5rem !important;
+ }
+ .fs-sm-2 {
+ font-size: 2rem !important;
+ }
+ .fs-sm-3 {
+ font-size: 1.75rem !important;
+ }
+ .fs-sm-4 {
+ font-size: 1.5rem !important;
+ }
+ .fs-md-1 {
+ font-size: 2.5rem !important;
+ }
+ .fs-md-2 {
+ font-size: 2rem !important;
+ }
+ .fs-md-3 {
+ font-size: 1.75rem !important;
+ }
+ .fs-md-4 {
+ font-size: 1.5rem !important;
+ }
+ .fs-lg-1 {
+ font-size: 2.5rem !important;
+ }
+ .fs-lg-2 {
+ font-size: 2rem !important;
+ }
+ .fs-lg-3 {
+ font-size: 1.75rem !important;
+ }
+ .fs-lg-4 {
+ font-size: 1.5rem !important;
+ }
+}
+
@media print {
.d-print-inline {
display: inline !important;
diff --git a/dist/css/bootstrap-utilities.css.map b/dist/css/bootstrap-utilities.css.map
index 210f7aa978..b80b19b020 100644
--- a/dist/css/bootstrap-utilities.css.map
+++ b/dist/css/bootstrap-utilities.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-utilities.scss","bootstrap-utilities.css","../../scss/mixins/_utilities.scss","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACoCI;EAEI,mCAA+D;ADnCzE;;ACiCM;EAEI,8BAA+D;AD/BzE;;AC6BM;EAEI,iCAA+D;AD3BzE;;ACyBM;EAEI,iCAA+D;ADvBzE;;ACqBM;EAEI,sCAA+D;ADnBzE;;ACiBM;EAEI,mCAA+D;ADfzE;;ACaM;EAEI,sBAA+D;ADXzE;;ACSM;EAEI,uBAA+D;ADPzE;;ACKM;EAEI,sBAA+D;ADHzE;;ACCM;EAEI,yBAA+D;ADCzE;;ACHM;EAEI,2BAA+D;ADKzE;;ACPM;EAEI,0BAA+D;ADSzE;;ACXM;EAEI,gCAA+D;ADazE;;ACfM;EAEI,yBAA+D;ADiBzE;;ACnBM;EAEI,yBAA+D;ADqBzE;;ACvBM;EAEI,6BAA+D;ADyBzE;;AC3BM;EAEI,8BAA+D;AD6BzE;;AC/BM;EAEI,wBAA+D;ADiCzE;;ACnCM;EAEI,+BAA+D;ADqCzE;;ACvCM;EAEI,wBAA+D;ADyCzE;;AC3CM;EAEI,wDAA+D;AD6CzE;;AC/CM;EAEI,8DAA+D;ADiDzE;;ACnDM;EAEI,uDAA+D;ADqDzE;;ACvDM;EAEI,2BAA+D;ADyDzE;;AC3DM;EAEI,2BAA+D;AD6DzE;;AC/DM;EAEI,6BAA+D;ADiEzE;;ACnEM;EAEI,6BAA+D;ADqEzE;;ACvEM;EAEI,0BAA+D;ADyEzE;;AC3EM;EAEI,mCAA+D;EAA/D,2BAA+D;AD6EzE;;AC/EM;EAEI,iBAA+D;ADiFzE;;ACnFM;EAEI,mBAA+D;ADqFzE;;ACvFM;EAEI,oBAA+D;ADyFzE;;AC3FM;EAEI,oBAA+D;AD6FzE;;AC/FM;EAEI,sBAA+D;ADiGzE;;ACnGM;EAEI,uBAA+D;ADqGzE;;ACvGM;EAEI,kBAA+D;ADyGzE;;AC3GM;EAEI,oBAA+D;AD6GzE;;AC/GM;EAEI,qBAA+D;ADiHzE;;ACnHM;EAEI,mBAA+D;ADqHzE;;ACvHM;EAEI,qBAA+D;ADyHzE;;AC3HM;EAEI,sBAA+D;AD6HzE;;AC/HM;EAEI,uDAA+D;ADiIzE;;ACnIM;EAEI,oCAA+D;ADqIzE;;ACvIM;EAEI,oBAA+D;ADyIzE;;AC3IM;EAEI,wCAA+D;AD6IzE;;AC/IM;EAEI,wBAA+D;ADiJzE;;ACnJM;EAEI,0CAA+D;ADqJzE;;ACvJM;EAEI,0BAA+D;ADyJzE;;AC3JM;EAEI,2CAA+D;AD6JzE;;AC/JM;EAEI,2BAA+D;ADiKzE;;ACnKM;EAEI,yCAA+D;ADqKzE;;ACvKM;EAEI,yBAA+D;ADyKzE;;AC3KM;EAEI,gCAA+D;AD6KzE;;AC/KM;EAEI,gCAA+D;ADiLzE;;ACnLM;EAEI,gCAA+D;ADqLzE;;ACvLM;EAEI,gCAA+D;ADyLzE;;AC3LM;EAEI,gCAA+D;AD6LzE;;AC/LM;EAEI,gCAA+D;ADiMzE;;ACnMM;EAEI,gCAA+D;ADqMzE;;ACvMM;EAEI,gCAA+D;ADyMzE;;AC3MM;EAEI,6BAA+D;AD6MzE;;AC/MM;EAEI,0BAA+D;ADiNzE;;ACnNM;EAEI,4BAA+D;ADqNzE;;ACvNM;EAEI,4BAA+D;ADyNzE;;AC3NM;EAEI,4BAA+D;AD6NzE;;AC/NM;EAEI,4BAA+D;ADiOzE;;ACnOM;EAEI,4BAA+D;ADqOzE;;ACvOM;EAEI,qBAA+D;ADyOzE;;AC3OM;EAEI,qBAA+D;AD6OzE;;AC/OM;EAEI,qBAA+D;ADiPzE;;ACnPM;EAEI,sBAA+D;ADqPzE;;ACvPM;EAEI,sBAA+D;ADyPzE;;AC3PM;EAEI,0BAA+D;AD6PzE;;AC/PM;EAEI,uBAA+D;ADiQzE;;ACnQM;EAEI,2BAA+D;ADqQzE;;ACvQM;EAEI,sBAA+D;ADyQzE;;AC3QM;EAEI,sBAA+D;AD6QzE;;AC/QM;EAEI,sBAA+D;ADiRzE;;ACnRM;EAEI,uBAA+D;ADqRzE;;ACvRM;EAEI,uBAA+D;ADyRzE;;AC3RM;EAEI,2BAA+D;AD6RzE;;AC/RM;EAEI,wBAA+D;ADiSzE;;ACnSM;EAEI,4BAA+D;ADqSzE;;ACvSM;EAEI,yBAA+D;ADySzE;;AC3SM;EAEI,8BAA+D;AD6SzE;;AC/SM;EAEI,iCAA+D;ADiTzE;;ACnTM;EAEI,sCAA+D;ADqTzE;;ACvTM;EAEI,yCAA+D;ADyTzE;;AC3TM;EAEI,uBAA+D;AD6TzE;;AC/TM;EAEI,uBAA+D;ADiUzE;;ACnUM;EAEI,yBAA+D;ADqUzE;;ACvUM;EAEI,yBAA+D;ADyUz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+D;ADm0BzE;;ACr0BM;EAEI,gCAA+D;ADu0BzE;;ACz0BM;EAEI,+BAA+D;AD20BzE;;AC70BM;EAEI,6BAA+D;AD+0BzE;;ACj1BM;EAEI,+BAA+D;ADm1BzE;;ACr1BM;EAEI,6BAA+D;ADu1BzE;;ACz1BM;EAEI,2BAA+D;AD21BzE;;AC71BM;EAEI,+BAA+D;AD+1BzE;;ACj2BM;EAEI,2BAA+D;ADm2BzE;;ACr2BM;EAEI,2BAA+D;ADu2BzE;;ACz2BM;EAEI,8BAA+D;AD22BzE;;AC72BM;EAEI,oCAA+D;AD+2BzE;;ACj3BM;EAEI,oCAA+D;ADm3BzE;;ACr3BM;EAEI,qCAA+D;ADu3BzE;;ACz3BM;EAEI,2BAA+D;AD23BzE;;AC73BM;EAEI,4BAA+D;AD+3BzE;;ACj4BM;EAEI,6BAA+D;ADm4BzE;;ACr4BM;EAEI,yBAA+D;ADu4BzE;;ACz4BM;EAEI,yBAA+D;AD24BzE;;AC74BM;EAEI,yBAA+D;AD+4BzE;;ACj5BM;EAEI,yBAA+D;ADm5BzE;;ACr5BM;EAEI,yBAA+D;ADu5BzE;;ACz5BM;EAEI,yBAA+D;AD25BzE;;AC75BM;EAEI,yBAA+D;AD+5BzE;;ACj6BM;EAEI,yBAA+D;ADm6BzE;;ACr6BM;EAEI,sBAA+D;ADu6BzE;;ACz6BM;EAEI,yBAA+D;AD26BzE;;AC76BM;EAEI,yBAA+D;AD+6BzE;;ACj7BM;EAEI,oCAA+D;ADm7BzE;;ACr7BM;EAEI,0CAA+D;ADu7BzE;;ACz7BM;EAEI,yBAA+D;AD27BzE;;AC77BM;EAEI,yBAA+D;AD+7BzE;;ACj8BM;EAEI,4BAA+D;ADm8BzE;;ACr8BM;EAEI,2BAA+D;ADu8BzE;;ACz8BM;EAEI,yBAA+D;AD28BzE;;AC78BM;EAEI,oCAA+D;AD+8BzE;;ACj9BM;EAEI,oCAA+D;ADm9BzE;;ACr9BM;EAEI,oCAA+D;ADu9BzE;;ACz9BM;EAEI,oCAA+D;AD29BzE;;AC79BM;EAEI,oCAA+D;AD+9BzE;;ACj+BM;EAEI,oCAA+D;ADm+BzE;;ACr+BM;EAEI,oCAA+D;ADu+BzE;;ACz+BM;EAEI,oCAA+D;AD2+BzE;;AC7+BM;EAEI,iCAA+D;AD++BzE;;ACj/BM;EAEI,iCAA+D;ADm/BzE;;ACr/BM;EAEI,wCAA+D;ADu/BzE;;ACz/BM;EAEI,+CAA+D;AD2/BzE;;AC7/BM;EAEI,8BAA+D;AD+/BzE;;ACjgCM;EAEI,8BAA+D;ADmgCzE;;ACrgCM;EAEI,gCAA+D;ADugCzE;;ACzgCM;EAEI,qCAA+D;AD2gCzE;;AC7gCM;EAEI,wCAA+D;AD+gCzE;;ACjhCM;EAEI,6BAA+D;ADmhCzE;;ACrhCM;EAEI,6BAA+D;ADuhCzE;;ACzhCM;EAEI,gCAA+D;EAA/D,iCAA+D;AD4hCzE;;AC9hCM;EAEI,gDAA+D;ADgiCzE;;ACliCM;EAEI,mCAA+D;EAA/D,gCAA+D;EAA/D,+BAA+D;EAA/D,2BAA+D;ADoiCzE;;ACtiCM;EAEI,oCAA+D;EAA/D,iCAA+D;EAA/D,gCAA+D;EAA/D,4BAA+D;ADwiCzE;;AC1iCM;EAEI,oCAA+D;EAA/D,iCAA+D;EAA/D,gCAA+D;EAA/D,4BAA+D;AD4iCzE;;AC9iCM;EAEI,+BAA+D;ADgjCzE;;ACljCM;EAEI,+BAA+D;ADojCzE;;ACtjCM;EAEI,iCAA+D;ADwjCzE;;AC1jCM;EAEI,gCAA+D;AD4jCzE;;AC9jCM;EAEI,gCAA+D;ADgkCzE;;AClkCM;EAEI,6BAA+D;ADokCzE;;ACtkCM;EAEI,+BAA+D;ADwkCzE;;AC1kCM;EAEI,2BAA+D;AD4kCzE;;AC9kCM;EAEI,0CAA+D;EAA/D,2CAA+D;ADilCzE;;ACnlCM;EAEI,2CAA+D;EAA/D,8CAA+D;ADslCzE;;ACxlCM;EAEI,8CAA+D;EAA/D,6CAA+D;AD2lCzE;;AC7lCM;EAEI,6CAA+D;EAA/D,0CAA+D;ADgmCzE;;AClmCM;EAEI,8BAA+D;ADomCzE;;ACtmCM;EAEI,6BAA+D;ADwmCzE;;AEplCI;EDtBE;IAEI,sBAA+D;ED6mCvE;EC/mCI;IAEI,uBAA+D;EDgnCvE;EClnCI;IAEI,sBAA+D;EDmnCvE;ECrnCI;IAEI,0BAA+D;EDsnCvE;ECxnCI;IAEI,gCAA+D;EDynCvE;EC3nCI;IAEI,yBAA+D;ED4nCvE;EC9nCI;IAEI,yBAA+D;ED+nCvE;ECjoCI;IAEI,6BAA+D;EDkoCvE;ECpoCI;IAEI,8BAA+D;EDqoCvE;ECvoCI;IAEI,wBAA+D;EDwoCvE;EC1oCI;IAEI,+BAA+D;ED2oCvE;EC7oCI;IAEI,wBAA+D;ED8oCvE;EChpCI;IAEI,yBAA+D;EDipCvE;ECnpCI;IAEI,8BAA+D;EDopCvE;ECtpCI;IAEI,iCAA+D;EDupCvE;ECzpCI;IAEI,sCAA+D;ED0pCvE;EC5pCI;IAEI,yCAA+D;ED6pCvE;EC/pCI;IAEI,uBAA+D;EDgqCvE;EClqCI;IAEI,uBAA+D;EDmqCvE;ECrqCI;IAEI,yBAA+D;EDsqCvE;ECxqCI;IAEI,yBAA+D;EDyqCvE;EC3qCI;IAEI,0BAA+D;ED4qCvE;EC9qCI;IAEI,4BAA+D;ED+qCvE;ECjrCI;IAEI,kCAA+D;EDkrCvE;ECprCI;IAEI,sCAA+D;EDqrCvE;ECvrCI;IAEI,oCAA+D;EDwrCvE;EC1rCI;IAEI,kCAA+D;ED2rCvE;EC7rCI;IAEI,yCAA+D;ED8rCvE;EChsCI;IAEI,wCAA+D;EDisCvE;ECnsCI;IAEI,wCAA+D;EDosCvE;ECtsCI;IAEI,kCAA+D;EDusCvE;ECzsCI;IAEI,gCAA+D;ED0sCvE;EC5sCI;IAEI,8BAA+D;ED6sCvE;EC/sCI;IAEI,gCAA+D;EDgtCvE;ECltCI;IAEI,+BAA+D;EDmtCvE;ECrtCI;IAEI,oCAA+D;EDstCvE;ECxtCI;IAEI,kCAA+D;EDytCvE;EC3tCI;IAEI,gCAA+D;ED4tCvE;EC9tCI;IAEI,uCAA+D;ED+tCvE;ECjuCI;IAEI,sCAA+D;EDkuCvE;ECpuCI;IAEI,iCAA+D;EDquCvE;ECvuCI;IAEI,2BAA+D;EDwuCvE;EC1uCI;IAEI,iCAA+D;ED2uCvE;EC7uCI;IAEI,+BAA+D;ED8uCvE;EChvCI;IAEI,6BAA+D;EDivCvE;ECnvCI;IAEI,+BAA+D;EDovCvE;ECtvCI;IAEI,8BAA+D;EDuvCvE;ECzvCI;IAEI,oBAA+D;ED0vCvE;EC5vCI;IAEI,mBAA+D;ED6vCvE;EC/vCI;IAEI,mBAA+D;EDgwCvE;EClwCI;IAEI,mBAA+D;EDmwCvE;ECrwCI;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D;EDogDvE;ECtgDI;IAEI,2BAA+D;EDugDvE;ECzgDI;IAEI,iCAA+D;ED0gDvE;EC5gDI;IAEI,gCAA+D;ED6gDvE;EC/gDI;IAEI,8BAA+D;EDghDvE;EClhDI;IAEI,gCAA+D;EDmhDvE;ECrhDI;IAEI,8BAA+D;EDshDvE;ECxhDI;IAEI,4BAA+D;EDyhDvE;EC3hDI;IAEI,kCAA+D;ED4hDvE;EC9hDI;IAEI,iCAA+D;ED+hDvE;ECjiDI;IAEI,+BAA+D;EDkiDvE;ECpiDI;IAEI,iCAA+D;EDqiDvE;ECviDI;IAEI,+BAA+D;EDwiDvE;EC1iDI;IAEI,0BAA+D;ED2iDvE;EC7iDI;IAEI,gCAA+D;ED8iDvE;EChjDI;IAEI,+BAA+D;EDijDvE;ECnjDI;IAEI,6BAA+D;EDojDvE;ECtjDI;IAEI,+BAA+D;EDujDvE;ECzjDI;IAEI,6BAA+D;ED0jDvE;EC5jDI;IAEI,2BAA+D;ED6jDvE;EC/jDI;IAEI,4BAA+D;EDgkDvE;EClkDI;IAEI,6BAA+D;EDmkDvE;AACF;;AEhjDI;EDtBE;IAEI,sBAA+D;EDykDvE;EC3kDI;IAEI,uBAA+D;ED4kDvE;EC9kDI;IAEI,sBAA+D;ED+kDvE;ECjlDI;IAEI,0BAA+D;EDklDvE;ECplDI;IAEI,gCAA+D;EDqlDvE;ECvlDI;IAEI,yBAA+D;EDwlDvE;EC1lDI;IAEI,yBAA+D;ED2lDvE;EC7lDI;IAEI,6BAA+D;ED8lDvE;EChmDI;IAEI,8BAA+D;EDimDvE;ECnmDI;IAEI,wBAA+D;EDomDvE;ECtmDI;IAEI,+BAA+D;EDumDvE;ECzmDI;IAEI,wBAA+D;ED0mDvE;EC5mDI;IAEI,yBAA+D;ED6mDvE;EC/mDI;IAEI,8BAA+D;EDgnDvE;EClnDI;IAEI,iCAA+D;EDmnDvE;ECrnDI;IAEI,sCAA+D;EDsnDvE;ECxnDI;IAEI,yCAA+D;EDynDvE;EC3nDI;IAEI,uBAA+D;ED4nDvE;EC9nDI;IAEI,uBAA+D;ED+nDvE;ECjoDI;IAEI,yBAA+D;EDkoDvE;ECpoDI;IAEI,yBAA+D;EDqoDvE;ECvoDI;IAEI,0BAA+D;EDwoDvE;EC1oDI;IAEI,4BAA+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6BAA+D;EDghEvE;EClhEI;IAEI,+BAA+D;EDmhEvE;ECrhEI;IAEI,6BAA+D;EDshEvE;ECxhEI;IAEI,2BAA+D;EDyhEvE;EC3hEI;IAEI,4BAA+D;ED4hEvE;EC9hEI;IAEI,6BAA+D;ED+hEvE;AACF;;AE5gEI;EDtBE;IAEI,sBAA+D;EDqiEvE;ECviEI;IAEI,uBAA+D;EDwiEvE;EC1iEI;IAEI,sBAA+D;ED2iEvE;EC7iEI;IAEI,0BAA+D;ED8iEvE;EChjEI;IAEI,gCAA+D;EDijEvE;ECnjEI;IAEI,yBAA+D;EDojEvE;ECtjEI;IAEI,yBAA+D;EDujEvE;ECzjEI;IAEI,6BAA+D;ED0jEvE;EC5jEI;IAEI,8BAA+D;ED6jEvE;EC/jEI;IAEI,wBAA+D;EDgkEvE;EClkEI;IAEI,+BAA+D;EDmkEvE;ECrkEI;IAEI,wBAA+D;EDskEvE;ECxkEI;IAEI,yBAA+D;EDykEvE;EC3kEI;IAEI,8BAA+D;ED4kEvE;EC9kEI;IAEI,iCAA+D;ED+kEvE;ECjlEI;IAEI,sCAA+D;EDklEvE;ECplEI;IAEI,yCAA+D;EDqlEvE;ECvlEI;IAEI,uBAA+D;EDwlEvE;EC1lEI;IAEI,uBAA+D;ED2lEvE;EC7lEI;IAEI,yBAA+D;ED8lEvE;EChmEI;IAEI,yBAA+D;EDimEvE;ECnmEI;IAEI,0BAA+D;EDomEvE;ECtmEI;IAEI,4BAA+D;EDumEvE;ECzmEI;IAEI,kCAA+D;ED0mEvE;EC5mEI;IAEI,sCAA+D;ED6mEvE;EC/mEI;IAEI,oCAA+D;EDgnEvE;EClnEI;IAEI,kCAA+D;EDmnEvE;ECrnEI;IAEI,yCAA+D;EDsnEvE;ECxnEI;IAEI,wCAA+D;EDynEvE;EC3nEI;IAEI,wCAA+D;ED4nEvE;EC9nEI;IAEI,kCAA+D;ED+nEvE;ECjoEI;IAEI,gCAA+D;EDkoEvE;ECpoEI;IAEI,8BAA+D;EDqoEvE;ECvoEI;IAEI,gCAA+D;EDwoEvE;EC1oEI;IAEI,+BAA+D;ED2oEvE;EC7oEI;IAEI,oCAA+D;ED8oEvE;EChpEI;IAEI,kCAA+D;EDipEvE;ECnpEI;IAEI,gCAA+D;EDopEvE;ECtpEI;IAEI,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hFvE;EC9hFI;IAEI,+BAA+D;ED+hFvE;ECjiFI;IAEI,wBAA+D;EDkiFvE;ECpiFI;IAEI,yBAA+D;EDqiFvE;ECviFI;IAEI,8BAA+D;EDwiFvE;EC1iFI;IAEI,iCAA+D;ED2iFvE;EC7iFI;IAEI,sCAA+D;ED8iFvE;EChjFI;IAEI,yCAA+D;EDijFvE;ECnjFI;IAEI,uBAA+D;EDojFvE;ECtjFI;IAEI,uBAA+D;EDujFvE;ECzjFI;IAEI,yBAA+D;ED0jFvE;EC5jFI;IAEI,yBAA+D;ED6jFvE;EC/jFI;IAEI,0BAA+D;EDgkFvE;EClkFI;IAEI,4BAA+D;EDmkFvE;ECrkFI;IAEI,kCAA+D;EDskFvE;ECxkFI;IAEI,sCAA+D;EDykFvE;EC3kFI;IAEI,oCAA+D;ED4kFvE;EC9kFI;IAEI,kCAA+D;ED+kFvE;ECjlFI;IAEI,yCAA+D;EDklFvE;ECplFI;IAEI,wCAA+D;EDqlFvE;ECvlFI;IAEI,wCAA+D;EDwlFvE;EC1lFI;IAEI,kCAA+D;ED2lFvE;EC7lFI;IAEI,gCAA+D;ED8lFvE;EChmFI;IAEI,8BAA+D;EDimFvE;ECnmFI;IAEI,gCAA+D;EDomFvE;ECtmFI;IAEI,+BAA+D;EDumFvE;ECzmFI;IAEI,oCAA+D;ED0mFvE;EC5mFI;IAEI,kCAA+D;ED6mFvE;EC/mFI;IAEI,gCAA+D;EDgnFvE;EClnFI;IAEI,uCAA+D;EDmnFvE;ECrnFI;IAEI,sCAA+D;EDsnFvE;ECxnFI;IAEI,iCAA+D;EDynFvE;EC3nFI;IAEI,2BAA+D;ED4nFvE;EC9nFI;IAEI,iCAA+D;ED+nFvE;ECjoFI;IAEI,+BAA+D;EDkoFvE;ECpoFI;IAEI,6BAA+D;EDqoFvE;ECvoFI;IAEI,+BAA+D;EDwoFvE;EC1oFI;IAEI,8BAA+D;ED2oFvE;EC7oFI;IAEI,oBAA+D;ED8oFvE;EChpFI;IAEI,mBAA+D;EDipFvE;ECnpFI;IAEI,mBAA+D;EDopFvE;ECtpFI;IAEI,mBAA+D;EDupFvE;ECzpFI;IAEI,mBAA+D;ED0pFvE;EC5pFI;IAEI,mBAA+D;ED6pFvE;EC/pFI;IAEI,mBAA+D;EDgqFvE;EClqFI;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D;EDi6FvE;ECn6FI;IAEI,8BAA+D;EDo6FvE;ECt6FI;IAEI,gCAA+D;EDu6FvE;ECz6FI;IAEI,8BAA+D;ED06FvE;EC56FI;IAEI,4BAA+D;ED66FvE;EC/6FI;IAEI,kCAA+D;EDg7FvE;ECl7FI;IAEI,iCAA+D;EDm7FvE;ECr7FI;IAEI,+BAA+D;EDs7FvE;ECx7FI;IAEI,iCAA+D;EDy7FvE;EC37FI;IAEI,+BAA+D;ED47FvE;EC97FI;IAEI,0BAA+D;ED+7FvE;ECj8FI;IAEI,gCAA+D;EDk8FvE;ECp8FI;IAEI,+BAA+D;EDq8FvE;ECv8FI;IAEI,6BAA+D;EDw8FvE;EC18FI;IAEI,+BAA+D;ED28FvE;EC78FI;IAEI,6BAA+D;ED88FvE;ECh9FI;IAEI,2BAA+D;EDi9FvE;ECn9FI;IAEI,4BAA+D;EDo9FvE;ECt9FI;IAEI,6BAA+D;EDu9FvE;AACF;;AEp8FI;EDtBE;IAEI,sBAA+D;ED69FvE;EC/9FI;IAEI,uBAA+D;EDg+FvE;ECl+FI;IAEI,sBAA+D;EDm+FvE;ECr+FI;IAEI,0BAA+D;EDs+FvE;ECx+FI;IAEI,gCAA+D;EDy+FvE;EC3+FI;IAEI,yBAA+D;ED4+FvE;EC9+FI;IAEI,yBAA+D;ED++FvE;ECj/FI;IAEI,6BAA+D;EDk/FvE;ECp/FI;IAEI,8BAA+D;EDq/FvE;ECv/FI;IAEI,wBAA+D;EDw/FvE;EC1/FI;IAEI,+BAA+D;ED2/FvE;EC7/FI;IAEI,wBAA+D;ED8/FvE;EChgGI;IAEI,yBAA+D;EDigGvE;ECngGI;IAEI,8BAA+D;EDogGvE;ECtgGI;IAEI,iCAA+D;EDugGvE;ECzgGI;IAEI,sCAA+D;ED0gGvE;EC5gGI;IAEI,yCAA+D;ED6gGvE;EC/gGI;IAEI,uBAA+D;EDghGvE;EClhGI;IAEI,uBAA+D;EDmhGvE;ECrhGI;IAEI,yBAA+D;EDshGvE;ECxhGI;IAEI,yBAA+D;EDyhGvE;EC3hGI;IAEI,0BAA+D;ED4hGvE;EC9hGI;IAEI,4BAA+D;ED+hGvE;ECjiGI;IAEI,kCAA+D;EDkiGvE;ECpiGI;IAEI,sCAA+D;EDqiGvE;ECviGI;IAEI,oCAA+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","file":"bootstrap-utilities.css","sourcesContent":["/*!\n * Bootstrap Utilities v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Utilities v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.left-0 {\n left: 0 !important;\n}\n\n.left-50 {\n left: 50% !important;\n}\n\n.left-100 {\n left: 100% !important;\n}\n\n.right-0 {\n right: 0 !important;\n}\n\n.right-50 {\n right: 50% !important;\n}\n\n.right-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translateX(-50%) translateY(-50%) !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #198754 !important;\n}\n\n.border-info {\n border-color: #0dcaf0 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.border-0 {\n border-width: 0 !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #198754 !important;\n}\n\n.text-info {\n color: #0dcaf0 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #198754 !important;\n}\n\n.bg-info {\n background-color: #0dcaf0 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.font-normal {\n font-style: normal !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1400px) {\n .float-xxl-left {\n float: left !important;\n }\n .float-xxl-right {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n .text-xxl-left {\n text-align: left !important;\n }\n .text-xxl-right {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-utilities.scss","bootstrap-utilities.css","../../scss/mixins/_utilities.scss","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACoCI;EAEI,mCAA+D;ADnCzE;;ACiCM;EAEI,8BAA+D;AD/BzE;;AC6BM;EAEI,iCAA+D;AD3BzE;;ACyBM;EAEI,iCAA+D;ADvBzE;;ACqBM;EAEI,sCAA+D;ADnBzE;;ACiBM;EAEI,mCAA+D;ADfzE;;ACaM;EAEI,sBAA+D;ADXzE;;ACSM;EAEI,uBAA+D;ADPzE;;ACKM;EAEI,sBAA+D;ADHzE;;ACCM;EAEI,yBAA+D;ADCzE;;ACHM;EAEI,2BAA+D;ADKzE;;ACPM;EAEI,4BAA+D;ADSzE;;ACXM;EAEI,2BAA+D;ADazE;;ACfM;EAEI,0BAA+D;ADiBzE;;ACnBM;EAEI,gCAA+D;ADqBzE;;ACvBM;EAEI,yBAA+D;ADyBzE;;AC3BM;EAEI,yBAA+D;AD6BzE;;AC/BM;EAEI,6BAA+D;ADiCzE;;ACnCM;EAEI,8BAA+D;ADqCzE;;ACvCM;EAEI,wBAA+D;ADyCzE;;AC3CM;EAEI,+BAA+D;AD6CzE;;AC/CM;EAEI,wBAA+D;ADiDzE;;ACnDM;EAEI,wDAA+D;ADqDzE;;ACvDM;EAEI,8DAA+D;ADyDzE;;AC3DM;EAEI,uDAA+D;AD6DzE;;AC/DM;EAEI,2BAA+D;ADiEzE;;ACnEM;EAEI,2BAA+D;ADqEzE;;ACvEM;EAEI,6BAA+D;ADyEzE;;AC3EM;EAEI,6BAA+D;AD6EzE;;AC/EM;EAEI,0BAA+D;ADiFzE;;ACnFM;EAEI,mCAA+D;EAA/D,2BAA+D;ADqFzE;;ACvFM;EAEI,iBAA+D;ADyFzE;;AC3FM;EAEI,mBAA+D;AD6FzE;;AC/FM;EAEI,oBAA+D;ADiGzE;;ACnGM;EAEI,oBAA+D;ADqGzE;;ACvGM;EAEI,sBAA+D;ADyGzE;;AC3GM;EAEI,uBAA+D;AD6GzE;;AC/GM;EAEI,kBAA+D;ADiHzE;;ACnHM;EAEI,oBAA+D;ADqHzE;;ACvHM;EAEI,qBAA+D;ADyHzE;;AC3HM;EAEI,mBAA+D;AD6HzE;;AC/HM;EAEI,qBAA+D;ADiIzE;;ACnIM;EAEI,sBAA+D;ADqIzE;;ACvIM;EAEI,uDAA+D;ADyIzE;;AC3IM;EAEI,oCAA+D;AD6IzE;;AC/IM;EAEI,oBAA+D;ADiJzE;;ACnJM;EAEI,wCAA+D;ADqJzE;;ACvJM;EAEI,wBAA+D;ADyJzE;;AC3JM;EAEI,0CAA+D;AD6JzE;;AC/JM;EAEI,0BAA+D;ADiKzE;;ACnKM;EAEI,2CAA+D;ADqKzE;;ACvKM;EAEI,2BAA+D;ADyKzE;;AC3KM;EAEI,yCAA+D;AD6KzE;;AC/KM;EAEI,yBAA+D;ADiLzE;;ACnLM;EAEI,gCAA+D;ADqLzE;;ACvLM;EAEI,gCAA+D;ADyLzE;;AC3LM;EAEI,gCAA+D;AD6LzE;;AC/LM;EAEI,gCAA+D;ADiMzE;;ACnMM;EAEI,gCAA+D;ADqMzE;;ACvMM;EAEI,gCAA+D;ADyMzE;;AC3MM;EAEI,gCAA+D;AD6MzE;;AC/MM;EAEI,gCAA+D;ADiNzE;;ACnNM;EAEI,6BAA+D;ADqNzE;;ACvNM;EAEI,0BAA+D;ADyNzE;;AC3NM;EAEI,4BAA+D;AD6NzE;;AC/NM;EAEI,4BAA+D;ADiOzE;;ACnOM;EAEI,4BAA+D;ADqOzE;;ACvOM;EAEI,4BAA+D;ADyOzE;;AC3OM;EAEI,4BAA+D;AD6OzE;;AC/OM;EAEI,qBAA+D;ADiPzE;;ACnPM;EAEI,qBAA+D;ADqPzE;;ACvPM;EAEI,qBAA+D;ADyPzE;;AC3PM;EAEI,sBAA+D;AD6PzE;;AC/PM;EAEI,sBAA+D;ADiQzE;;ACnQM;EAEI,0BAA+D;ADqQzE;;ACvQM;EAEI,uBAA+D;ADyQzE;;AC3QM;EAEI,2BAA+D;AD6QzE;;AC/QM;EAEI,sBAA+D;ADiRzE;;ACnRM;EAEI,sBAA+D;ADqRzE;;ACvRM;EAEI,sBAA+D;ADyRzE;;AC3RM;EAEI,uBAA+D;AD6RzE;;AC/RM;EAEI,uBAA+D;ADiSzE;;ACnSM;EAEI,2BAA+D;ADqSzE;;ACvSM;EAEI,wBAA+D;ADySzE;;AC3SM;EAEI,4BAA+D;AD6SzE;;AC/SM;EAEI,yBAA+D;ADiTzE;;ACnTM;EAEI,8BAA+D;ADqTzE;;ACvTM;EAEI,iCAA+D;ADyTzE;;AC3TM;EAEI,sCAA+D;AD6TzE;;AC/TM;EAEI,yCAA+D;ADiUzE;;ACnUM;EAEI,uBAA+D;ADqUzE;;ACvUM;EAEI,uBAA+D;ADyUz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D;ADm0BzE;;ACr0BM;EAEI,+BAA+D;ADu0BzE;;ACz0BM;EAEI,0BAA+D;AD20BzE;;AC70BM;EAEI,gCAA+D;AD+0BzE;;ACj1BM;EAEI,+BAA+D;ADm1BzE;;ACr1BM;EAEI,6BAA+D;ADu1BzE;;ACz1BM;EAEI,+BAA+D;AD21BzE;;AC71BM;EAEI,6BAA+D;AD+1BzE;;ACj2BM;EAEI,4CAA+D;ADm2BzE;;ACr2BM;EAEI,4CAA+D;ADu2BzE;;ACz2BM;EAEI,0CAA+D;AD22BzE;;AC72BM;EAEI,4CAA+D;AD+2BzE;;ACj3BM;EAEI,6BAA+D;ADm3BzE;;ACr3BM;EAEI,0BAA+D;ADu3BzE;;ACz3BM;EAEI,6BAA+D;AD23BzE;;AC73BM;EAEI,6BAA+D;AD+3BzE;;ACj4BM;EAEI,2BAA+D;ADm4BzE;;ACr4BM;EAEI,+BAA+D;ADu4BzE;;ACz4BM;EAEI,2BAA+D;AD24BzE;;AC74BM;EAEI,2BAA+D;AD+4BzE;;ACj5BM;EAEI,8BAA+D;ADm5BzE;;ACr5BM;EAEI,oCAA+D;ADu5BzE;;ACz5BM;EAEI,oCAA+D;AD25BzE;;AC75BM;EAEI,qCAA+D;AD+5BzE;;ACj6BM;EAEI,2BAA+D;ADm6BzE;;ACr6BM;EAEI,4BAA+D;ADu6BzE;;ACz6BM;EAEI,6BAA+D;AD26BzE;;AC76BM;EAEI,yBAA+D;AD+6BzE;;ACj7BM;EAEI,yBAA+D;ADm7BzE;;ACr7BM;EAEI,yBAA+D;ADu7BzE;;ACz7BM;EAEI,yBAA+D;AD27BzE;;AC77BM;EAEI,yBAA+D;AD+7BzE;;ACj8BM;EAEI,yBAA+D;ADm8BzE;;ACr8BM;EAEI,yBAA+D;ADu8BzE;;ACz8BM;EAEI,yBAA+D;AD28BzE;;AC78BM;EAEI,sBAA+D;AD+8BzE;;ACj9BM;EAEI,yBAA+D;ADm9BzE;;ACr9BM;EAEI,yBAA+D;ADu9BzE;;ACz9BM;EAEI,oCAA+D;AD29BzE;;AC79BM;EAEI,0CAA+D;AD+9BzE;;ACj+BM;EAEI,yBAA+D;ADm+BzE;;ACr+BM;EAEI,yBAA+D;ADu+BzE;;ACz+BM;EAEI,4BAA+D;AD2+BzE;;AC7+BM;EAEI,2BAA+D;AD++BzE;;ACj/BM;EAEI,yBAA+D;ADm/BzE;;ACr/BM;EAEI,oCAA+D;ADu/BzE;;ACz/BM;EAEI,oCAA+D;AD2/BzE;;AC7/BM;EAEI,oCAA+D;AD+/BzE;;ACjgCM;EAEI,oCAA+D;ADmgCzE;;ACrgCM;EAEI,oCAA+D;ADugCzE;;ACzgCM;EAEI,oCAA+D;AD2gCzE;;AC7gCM;EAEI,oCAA+D;AD+gCzE;;ACjhCM;EAEI,oCAA+D;ADmhCzE;;ACrhCM;EAEI,iCAA+D;ADuhCzE;;ACzhCM;EAEI,iCAA+D;AD2hCzE;;AC7hCM;EAEI,wCAA+D;AD+hCzE;;ACjiCM;EAEI,+CAA+D;ADmiCzE;;ACriCM;EAEI,8BAA+D;ADuiCzE;;ACziCM;EAEI,8BAA+D;AD2iCzE;;AC7iCM;EAEI,gCAA+D;AD+iCzE;;ACjjCM;EAEI,qCAA+D;ADmjCzE;;ACrjCM;EAEI,wCAA+D;ADujCzE;;ACzjCM;EAEI,gCAA+D;EAA/D,iCAA+D;AD4jCzE;;AC9jCM;EAEI,gDAA+D;ADgkCzE;;AClkCM;EAEI,mCAA+D;EAA/D,gCAA+D;EAA/D,+BAA+D;EAA/D,2BAA+D;ADokCzE;;ACtkCM;EAEI,oCAA+D;EAA/D,iCAA+D;EAA/D,gCAA+D;EAA/D,4BAA+D;ADwkCzE;;AC1kCM;EAEI,oCAA+D;EAA/D,iCAA+D;EAA/D,gCAA+D;EAA/D,4BAA+D;AD4kCzE;;AC9kCM;EAEI,+BAA+D;ADglCzE;;ACllCM;EAEI,+BAA+D;ADolCzE;;ACtlCM;EAEI,iCAA+D;ADwlCzE;;AC1lCM;EAEI,gCAA+D;AD4lCzE;;AC9lCM;EAEI,gCAA+D;ADgmCzE;;AClmCM;EAEI,6BAA+D;ADomCzE;;ACtmCM;EAEI,+BAA+D;ADwmCzE;;AC1mCM;EAEI,2BAA+D;AD4mCzE;;AC9mCM;EAEI,0CAA+D;EAA/D,2CAA+D;ADinCzE;;ACnnCM;EAEI,2CAA+D;EAA/D,8CAA+D;ADsnCzE;;ACxnCM;EAEI,8CAA+D;EAA/D,6CAA+D;AD2nCzE;;AC7nCM;EAEI,6CAA+D;EAA/D,0CAA+D;ADgoCzE;;ACloCM;EAEI,8BAA+D;ADooCzE;;ACtoCM;EAEI,6BAA+D;ADwoCzE;;AEpnCI;EDtBE;IAEI,sBAA+D;ED6oCvE;EC/oCI;IAEI,uBAA+D;EDgpCvE;EClpCI;IAEI,sBAA+D;EDmpCvE;ECrpCI;IAEI,0BAA+D;EDspCvE;ECxpCI;IAEI,gCAA+D;EDypCvE;EC3pCI;IAEI,yBAA+D;ED4pCvE;EC9pCI;IAEI,yBAA+D;ED+pCvE;ECjqCI;IAEI,6BAA+D;EDkqCvE;ECpqCI;IAEI,8BAA+D;EDqqCvE;ECvqCI;IAEI,wBAA+D;EDwqCvE;EC1qCI;IAEI,+BAA+D;ED2qCvE;EC7qCI;IAEI,wBAA+D;ED8qCvE;EChrCI;IAEI,yBAA+D;EDirCvE;ECnrCI;IAEI,8BAA+D;EDorCvE;ECtrCI;IAEI,iCAA+D;EDurCvE;ECzrCI;IAEI,sCAA+D;ED0rCvE;EC5rCI;IAEI,yCAA+D;ED6rCvE;EC/rCI;IAEI,uBAA+D;EDgsCvE;EClsCI;IAEI,uBAA+D;EDmsCvE;ECrsCI;IAEI,yBAA+D;EDssCvE;ECxsCI;IAEI,yBAA+D;EDysCvE;EC3sCI;IAEI,0BAA+D;ED4sCvE;EC9sCI;IAEI,4BAA+D;ED+sCvE;ECjtCI;IAEI,kCAA+D;EDktCvE;ECptCI;IAEI,sCAA+D;EDqtCvE;ECvtCI;IAEI,oCAA+D;EDwtCvE;EC1tCI;IAEI,kCAA+D;ED2tCvE;EC7tCI;IAEI,yCAA+D;ED8tCvE;EChuCI;IAEI,wCAA+D;EDiuCvE;ECnuCI;IAEI,wCAA+D;EDouCvE;ECtuCI;IAEI,kCAA+D;EDuuCvE;ECzuCI;IAEI,gCAA+D;ED0uCvE;EC5uCI;IAEI,8BAA+D;ED6uCvE;EC/uCI;IAEI,gCAA+D;EDgvCvE;EClvCI;IAEI,+BAA+D;EDmvCvE;ECrvCI;IAEI,oCAA+D;EDsvCvE;ECxvCI;IAEI,kCAA+D;EDyvCvE;EC3vCI;IAEI,gCAA+D;ED4vCvE;EC9vCI;IAEI,uCAA+D;ED+vCvE;ECjwCI;IAEI,sCAA+D;EDkwCvE;ECpwCI;IAEI,iCAA+D;EDqwCvE;ECvwCI;IAEI,2BAA+D;EDwwCvE;EC1wCI;IAEI,iCAA+D;ED2wCvE;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I,iCAA+D;EDmpDvE;ECrpDI;IAEI,sCAA+D;EDspDvE;ECxpDI;IAEI,yCAA+D;EDypDvE;EC3pDI;IAEI,uBAA+D;ED4pDvE;EC9pDI;IAEI,uBAA+D;ED+pDvE;ECjqDI;IAEI,yBAA+D;EDkqDvE;ECpqDI;IAEI,yBAA+D;EDqqDvE;ECvqDI;IAEI,0BAA+D;EDwqDvE;EC1qDI;IAEI,4BAA+D;ED2qDvE;EC7qDI;IAEI,kCAA+D;ED8qDvE;EChrDI;IAEI,sCAA+D;EDirDvE;ECnrDI;IAEI,oCAA+D;EDorDvE;ECtrDI;IAEI,kCAA+D;EDurDvE;ECzrDI;IAEI,yCAA+D;ED0rDvE;EC5rDI;IAEI,wCAA+D;ED6rDvE;EC/rDI;IAEI,wCAA+D;EDgsDvE;EClsDI;IAEI,kCAA+D;EDmsDvE;ECrsDI;IAEI,gCAA+D;EDssDvE;ECxsDI;IAEI,8BAA+D;EDysDvE;EC3sDI;IAEI,gCAA+D;ED4sDvE;EC9sDI;IAEI,+BAA+D;ED+sDvE;ECjtDI;IAEI,oCAA+D;EDktDvE;ECptDI;IAEI,kCAA+D;EDqtDvE;ECvtDI;IAEI,gCAA+D;EDwtDvE;EC1tDI;IAEI,uCAA+D;ED2tDvE;EC7tDI;IAEI,sCAA+D;ED8tDvE;EChuDI;IAEI,iCAA+D;EDiuDvE;ECnuDI;IAEI,2BAA+D;EDouDvE;ECtuDI;IAEI,iCAA+D;EDuuDvE;ECzuDI;IAEI,+BAA+D;ED0uDvE;EC5uDI;IAEI,6BAA+D;ED6uDvE;EC/uDI;IAEI,+BAA+D;EDgvDvE;EClvDI;IAEI,8BAA+D;EDmvDvE;ECrvDI;IAEI,oBAA+D;EDsvDvE;ECxvDI;IAEI,mBAA+D;EDyvDvE;EC3vDI;IAEI,mBAA+D;ED4vDvE;EC9vDI;IAEI,mBAA+D;ED+vDvE;ECjwDI;IAEI,mBAA+D;EDkwDvE;ECpwDI;IAEI,mBAA+D;EDqwDvE;ECvwDI;IAEI,mBAA+D;EDwwDvE;EC1wDI;IAEI,mBAA+D;ED2wDvE;EC7wDI;IAEI,oBAA+D;ED8wDvE;EChxDI;IAEI,0BAA+D;EDixDvE;ECnxDI;IAEI,yBAA+D;EDoxDvE;ECtxDI;IAEI,uBAA+D;EDu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I;IAEI,kCAA+D;EDwhEvE;EC1hEI;IAEI,iCAA+D;ED2hEvE;EC7hEI;IAEI,+BAA+D;ED8hEvE;EChiEI;IAEI,iCAA+D;EDiiEvE;ECniEI;IAEI,+BAA+D;EDoiEvE;ECtiEI;IAEI,0BAA+D;EDuiEvE;ECziEI;IAEI,gCAA+D;ED0iEvE;EC5iEI;IAEI,+BAA+D;ED6iEvE;EC/iEI;IAEI,6BAA+D;EDgjEvE;ECljEI;IAEI,+BAA+D;EDmjEvE;ECrjEI;IAEI,6BAA+D;EDsjEvE;ECxjEI;IAEI,2BAA+D;EDyjEvE;EC3jEI;IAEI,4BAA+D;ED4jEvE;EC9jEI;IAEI,6BAA+D;ED+jEvE;AACF;;AE5iEI;EDtBE;IAEI,sBAA+D;EDqkEvE;ECvkEI;IAEI,uBAA+D;EDwkEvE;EC1kEI;IAEI,sBAA+D;ED2kEvE;EC7kEI;IAEI,0BAA+D;ED8kEvE;EChlEI;IAEI,gCAA+D;EDilEvE;ECnlEI;IAEI,yBAA+D;EDolEvE;ECtlEI;IAEI,yBAA+D;EDulEvE;ECzlEI;IAEI,6BAA+D;ED0lEvE;EC5lEI;IAEI,8BAA+D;ED6lEvE;EC/lEI;IAEI,wBAA+D;EDgmEvE;EClmEI;IAEI,+BAA+D;EDmmEvE;ECrmEI;IAEI,wBAA+D;EDsmEvE;ECxmEI;IAEI,yBAA+D;EDymEvE;EC3mEI;IAEI,8BAA+D;ED4mEvE;EC9mEI;IAEI,iCAA+D;ED+mEvE;ECjnEI;IAEI,sCAA+D;EDknEvE;ECpnEI;IAEI,yCAA+D;EDqnEvE;ECvnEI;IAEI,uBAA+D;EDwnEvE;EC1nEI;IAEI,uBAA+D;ED2nEvE;EC7nEI;IAEI,yBAA+D;ED8nEvE;EChoEI;IAEI,yBAA+D;EDioEvE;ECnoEI;IAEI,0BAA+D;EDooEvE;ECtoEI;IAEI,4BAA+D;EDuoEvE;ECzoEI;IAEI,kCAA+D;ED0oEvE;EC5oEI;IAEI,sCAA+D;ED6oEvE;EC/oEI;IAEI,oCAA+D;EDgpEvE;EClpEI;IAEI,kCAA+D;EDmpEvE;ECrpEI;IAEI,yCAA+D;EDspEvE;ECxpEI;IAEI,wCAA+D;EDypEvE;EC3pEI;IAEI,wCAA+D;ED4pEvE;EC9pE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A+D;EDoiFvE;ECtiFI;IAEI,sBAA+D;EDuiFvE;ECziFI;IAEI,0BAA+D;ED0iFvE;EC5iFI;IAEI,gCAA+D;ED6iFvE;EC/iFI;IAEI,yBAA+D;EDgjFvE;ECljFI;IAEI,yBAA+D;EDmjFvE;ECrjFI;IAEI,6BAA+D;EDsjFvE;ECxjFI;IAEI,8BAA+D;EDyjFvE;EC3jFI;IAEI,wBAA+D;ED4jFvE;EC9jFI;IAEI,+BAA+D;ED+jFvE;ECjkFI;IAEI,wBAA+D;EDkkFvE;ECpkFI;IAEI,yBAA+D;EDqkFvE;ECvkFI;IAEI,8BAA+D;EDwkFvE;EC1kFI;IAEI,iCAA+D;ED2kFvE;EC7kFI;IAEI,sCAA+D;ED8kFvE;EChlFI;IAEI,yCAA+D;EDilFvE;ECnlFI;IAEI,uBAA+D;EDolFvE;ECtlFI;IAEI,uBAA+D;EDulFvE;ECzlFI;IAEI,yBAA+D;ED0lFvE;EC5lFI;IAEI,yBAA+D;ED6lFvE;EC/lFI;IAEI,0BAA+D;EDgmFvE;EClmFI;IAEI,4BAA+D;EDmmFvE;ECrmFI;IAEI,kCAA+D;EDsmFvE;ECxmFI;IAEI,sCAA+D;EDymFvE;EC3mFI;IAEI,oCAA+D;ED4mFvE;EC9mFI;IAEI,kCAA+D;ED+mFvE;ECjnFI;IAEI,yCAA+D;EDknFvE;ECpnFI;IAEI,wCAA+D;EDqnFvE;ECvnFI;IAEI,wCAA+D;EDwnFvE;EC1nFI;IAEI,kCAA+D;ED2nFvE;EC7nFI;IAEI,gCAA+D;ED8nFvE;EChoFI;IAEI,8BAA+D;EDioFvE;ECnoFI;IAEI,gCAA+D;EDooFvE;ECtoFI;IAEI,+BAA+D;EDuoFvE;ECzoFI;IAEI,oCAA+D;ED0oFvE;EC5oFI;IAEI,kCAA+D;ED6oFvE;EC/oFI;IAEI,gCAA+D;EDgpFvE;EClpFI;IAEI,uCAA+D;EDmpFvE;ECrpFI;IAEI,sCAA+D;EDspFvE;ECxpFI;IAEI,iCAA+D;EDypFvE;EC3pFI;IAEI,2BAA+D;ED4pFvE;EC9pFI;IAEI,iCAA+D;ED+pFvE;ECjqFI;IAEI,+BAA+D;EDkqFvE;ECpqFI;IAEI,6BAA+D;EDqqFvE;ECvqFI;IAEI,+BAA+D;EDwqFvE;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I,yBAA+D;EDy6FvE;EC36FI;IAEI,+BAA+D;ED46FvE;EC96FI;IAEI,8BAA+D;ED+6FvE;ECj7FI;IAEI,4BAA+D;EDk7FvE;ECp7FI;IAEI,8BAA+D;EDq7FvE;ECv7FI;IAEI,4BAA+D;EDw7FvE;EC17FI;IAEI,2BAA+D;ED27FvE;EC77FI;IAEI,iCAA+D;ED87FvE;ECh8FI;IAEI,gCAA+D;EDi8FvE;ECn8FI;IAEI,8BAA+D;EDo8FvE;ECt8FI;IAEI,gCAA+D;EDu8FvE;ECz8FI;IAEI,8BAA+D;ED08FvE;EC58FI;IAEI,4BAA+D;ED68FvE;EC/8FI;IAEI,kCAA+D;EDg9FvE;ECl9FI;IAEI,iCAA+D;EDm9FvE;ECr9FI;IAEI,+BAA+D;EDs9FvE;ECx9FI;IAEI,iCAA+D;EDy9FvE;EC39FI;IAEI,+BAA+D;ED49FvE;EC99FI;IAEI,0BAA+D;ED+9FvE;ECj+FI;IAEI,gCAA+D;EDk+FvE;ECp+FI;IAEI,+BAA+D;EDq+FvE;ECv+FI;IAEI,6BAA+D;EDw+FvE;EC1+FI;IAEI,+BAA+D;ED2+FvE;EC7+FI;IAEI,6BAA+D;ED8+FvE;ECh/FI;IAEI,2BAA+D;EDi/FvE;ECn/FI;IAEI,4BAA+D;EDo/FvE;ECt/FI;IAEI,6BAA+D;EDu/FvE;AACF;;AEp+FI;EDtBE;IAEI,sBAA+D;ED6/FvE;EC//FI;IAEI,uBAA+D;EDggGvE;EClgGI;IAEI,sBAA+D;EDmgGvE;ECrgGI;IAEI,0BAA+D;EDsgGvE;ECxgGI;IAEI,gCAA+D;EDygGvE;EC3gGI;IAEI,yBAA+D;ED4gGvE;EC9gGI;IAEI,yBAA+D;ED+gGvE;ECjhGI;IAEI,6BAA+D;EDkhGvE;ECphGI;IAEI,8BAA+D;EDqhGvE;ECvhGI;IAEI,wBAA+D;EDwhGvE;EC1hGI;IAEI,+BAA+D;ED2hGvE;EC7hGI;IAEI,wBAA+D;ED8hGvE;EChiGI;IAEI,yBAA+D;EDiiGvE;ECniGI;IAEI,8BAA+D;EDoiGvE;ECtiGI;IAEI,iCAA+D;EDuiGvE;ECziGI;IAEI,sCAA+D;ED0iGvE;EC5iGI;IAEI,yCAA+D;ED6iGvE;EC/iGI;IAEI,uBAA+D;EDgjGvE;ECljGI;IAEI,uBAA+D;EDmjGvE;ECrjGI;IAEI,yBAA+D;EDsjGvE;ECxjGI;IAEI,yBAA+D;EDyjGvE;EC3jGI;IAEI,0BAA+D;ED4jGvE;EC9jGI;IAEI,4BAA+D;ED+jGvE;ECjkGI;IAEI,kCAA+D;EDkkGvE;ECpkGI;IAEI,sCAA+D;EDqkGvE;ECvkGI;IAEI,oCAA+D;EDwkGvE;EC1kGI;IAEI,kCAA+D;ED2kGvE;EC7kGI;IAEI,yCAA+D;ED8kGvE;EChlGI;IAEI,wCAA+D;EDilGvE;ECnlGI;IAEI,wCAA+D;EDolGvE;ECtlGI;IAEI,kCAA+D;EDulGvE;ECzlGI;IAEI,gCAA+D;ED0lGvE;EC5lGI;IAEI,8BAA+D;ED6lGvE;EC/lGI;IAEI,gCAA+D;EDgmGvE;EClmGI;IAEI,+BAA+D;EDmmGvE;ECrmGI;IAEI,oCAA+D;EDsmGvE;ECxmGI;IAEI,kCAA+D;EDymGvE;EC3mGI;IAEI,gCAA+D;ED4mGvE;EC9mGI;IAEI,uCAA+D;ED+mGvE;ECjnGI;IAEI,sCAA+D;EDknGvE;ECpnGI;IAEI,iCAA+D;EDqnGvE;ECvnGI;IAEI,2BAA+D;EDwnGvE;EC1nGI;IAEI,iCAA+D;ED2nGvE;EC7nGI;IAEI,+BAA+D;ED8nGvE;EChoGI;IAEI,6BAA+D;EDioGvE;ECnoGI;IAEI,+BAA+D;EDooGvE;ECtoGI;IAEI,8BAA+D;EDuoGvE;ECzoGI;IAEI,oBAA+D;ED0oGvE;EC5oGI;IAEI,mBAA+D;ED6oGvE;EC/oGI;IAEI,mBAA+D;EDgpGvE;EClpGI;IAEI,mBAA+D;EDmpGvE;ECrpGI;IAEI,mBAA+D;EDspGvE;ECxpGI;IAEI,mBAA+D;EDypGvE;EC3pGI;IAEI,mBAA+D;ED4pGvE;EC9pGI;IAEI,mBAA+D;ED+pGvE;ECjqGI;IAEI,oBAA+D;EDkqGvE;ECpqGI;IAEI,0BAA+D;EDqqGvE;ECvqGI;IAEI,yBAA+D;EDwqGvE;EC1qGI;IAEI,uBAA+D;ED2qGvE;EC7qGI;IAEI,yBAA+D;ED8qGvE;EChrGI;IAEI,uBAA+D;EDirGvE;ECnrGI;IAEI,uBAA+D;EDo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","file":"bootstrap-utilities.css","sourcesContent":["/*!\n * Bootstrap Utilities v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Utilities v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.left-0 {\n left: 0 !important;\n}\n\n.left-50 {\n left: 50% !important;\n}\n\n.left-100 {\n left: 100% !important;\n}\n\n.right-0 {\n right: 0 !important;\n}\n\n.right-50 {\n right: 50% !important;\n}\n\n.right-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translateX(-50%) translateY(-50%) !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #198754 !important;\n}\n\n.border-info {\n border-color: #0dcaf0 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #212529 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.border-0 {\n border-width: 0 !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.fs-1 {\n font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25rem !important;\n}\n\n.fs-6 {\n font-size: 1rem !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #198754 !important;\n}\n\n.text-info {\n color: #0dcaf0 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #212529 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #198754 !important;\n}\n\n.bg-info {\n background-color: #0dcaf0 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #212529 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1400px) {\n .float-xxl-left {\n float: left !important;\n }\n .float-xxl-right {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n .text-xxl-left {\n text-align: left !important;\n }\n .text-xxl-right {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5rem !important;\n }\n .fs-2 {\n font-size: 2rem !important;\n }\n .fs-3 {\n font-size: 1.75rem !important;\n }\n .fs-4 {\n font-size: 1.5rem !important;\n }\n .fs-sm-1 {\n font-size: 2.5rem !important;\n }\n .fs-sm-2 {\n font-size: 2rem !important;\n }\n .fs-sm-3 {\n font-size: 1.75rem !important;\n }\n .fs-sm-4 {\n font-size: 1.5rem !important;\n }\n .fs-md-1 {\n font-size: 2.5rem !important;\n }\n .fs-md-2 {\n font-size: 2rem !important;\n }\n .fs-md-3 {\n font-size: 1.75rem !important;\n }\n .fs-md-4 {\n font-size: 1.5rem !important;\n }\n .fs-lg-1 {\n font-size: 2.5rem !important;\n }\n .fs-lg-2 {\n font-size: 2rem !important;\n }\n .fs-lg-3 {\n font-size: 1.75rem !important;\n }\n .fs-lg-4 {\n font-size: 1.5rem !important;\n }\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap.css b/dist/css/bootstrap.css
index 3e1c69ed8e..58270fa82b 100644
--- a/dist/css/bootstrap.css
+++ b/dist/css/bootstrap.css
@@ -25,8 +25,8 @@
--bs-warning: #ffc107;
--bs-danger: #dc3545;
--bs-light: #f8f9fa;
- --bs-dark: #343a40;
- --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ --bs-dark: #212529;
+ --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
}
@@ -37,6 +37,12 @@
box-sizing: border-box;
}
+@media (prefers-reduced-motion: no-preference) {
+ :root {
+ scroll-behavior: smooth;
+ }
+}
+
body {
margin: 0;
font-family: var(--bs-font-sans-serif);
@@ -209,7 +215,7 @@ a {
}
a:hover {
- color: #024dbc;
+ color: #0a58ca;
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
@@ -1791,75 +1797,75 @@ progress {
}
.table-primary {
- --bs-table-bg: #bbd6fe;
- --bs-table-striped-bg: #b2cbf1;
+ --bs-table-bg: #cfe2ff;
+ --bs-table-striped-bg: #c5d7f2;
--bs-table-striped-color: #000;
- --bs-table-active-bg: #a8c1e5;
+ --bs-table-active-bg: #bacbe6;
--bs-table-active-color: #000;
- --bs-table-hover-bg: #adc6eb;
+ --bs-table-hover-bg: #bfd1ec;
--bs-table-hover-color: #000;
color: #000;
- border-color: #a8c1e5;
+ border-color: #bacbe6;
}
.table-secondary {
- --bs-table-bg: #d6d8db;
- --bs-table-striped-bg: #cbcdd0;
+ --bs-table-bg: #e2e3e5;
+ --bs-table-striped-bg: #d7d8da;
--bs-table-striped-color: #000;
- --bs-table-active-bg: #c1c2c5;
+ --bs-table-active-bg: #cbccce;
--bs-table-active-color: #000;
- --bs-table-hover-bg: #c6c8cb;
+ --bs-table-hover-bg: #d1d2d4;
--bs-table-hover-color: #000;
color: #000;
- border-color: #c1c2c5;
+ border-color: #cbccce;
}
.table-success {
- --bs-table-bg: #bfddcf;
- --bs-table-striped-bg: #b5d2c5;
+ --bs-table-bg: #d1e7dd;
+ --bs-table-striped-bg: #c7dbd2;
--bs-table-striped-color: #000;
- --bs-table-active-bg: #acc7ba;
+ --bs-table-active-bg: #bcd0c7;
--bs-table-active-color: #000;
- --bs-table-hover-bg: #b1ccbf;
+ --bs-table-hover-bg: #c1d6cc;
--bs-table-hover-color: #000;
color: #000;
- border-color: #acc7ba;
+ border-color: #bcd0c7;
}
.table-info {
- --bs-table-bg: #bbf0fb;
- --bs-table-striped-bg: #b2e4ee;
+ --bs-table-bg: #cff4fc;
+ --bs-table-striped-bg: #c5e8ef;
--bs-table-striped-color: #000;
- --bs-table-active-bg: #a8d8e2;
+ --bs-table-active-bg: #badce3;
--bs-table-active-color: #000;
- --bs-table-hover-bg: #addee8;
+ --bs-table-hover-bg: #bfe2e9;
--bs-table-hover-color: #000;
color: #000;
- border-color: #a8d8e2;
+ border-color: #badce3;
}
.table-warning {
- --bs-table-bg: #ffeeba;
- --bs-table-striped-bg: #f2e2b1;
+ --bs-table-bg: #fff3cd;
+ --bs-table-striped-bg: #f2e7c3;
--bs-table-striped-color: #000;
- --bs-table-active-bg: #e6d6a7;
+ --bs-table-active-bg: #e6dbb9;
--bs-table-active-color: #000;
- --bs-table-hover-bg: #ecdcac;
+ --bs-table-hover-bg: #ece1be;
--bs-table-hover-color: #000;
color: #000;
- border-color: #e6d6a7;
+ border-color: #e6dbb9;
}
.table-danger {
- --bs-table-bg: #f5c6cb;
- --bs-table-striped-bg: #e9bcc1;
+ --bs-table-bg: #f8d7da;
+ --bs-table-striped-bg: #eccccf;
--bs-table-striped-color: #000;
- --bs-table-active-bg: #ddb2b7;
+ --bs-table-active-bg: #dfc2c4;
--bs-table-active-color: #000;
- --bs-table-hover-bg: #e3b7bc;
+ --bs-table-hover-bg: #e5c7ca;
--bs-table-hover-color: #000;
color: #000;
- border-color: #ddb2b7;
+ border-color: #dfc2c4;
}
.table-light {
@@ -1875,15 +1881,15 @@ progress {
}
.table-dark {
- --bs-table-bg: #343a40;
- --bs-table-striped-bg: #3e444a;
+ --bs-table-bg: #212529;
+ --bs-table-striped-bg: #2c3034;
--bs-table-striped-color: #fff;
- --bs-table-active-bg: #484e53;
+ --bs-table-active-bg: #373b3e;
--bs-table-active-color: #fff;
- --bs-table-hover-bg: #43494e;
+ --bs-table-hover-bg: #323539;
--bs-table-hover-color: #fff;
color: #fff;
- border-color: #484e53;
+ border-color: #373b3e;
}
.table-responsive {
@@ -1964,7 +1970,7 @@ progress {
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
- color: #495057;
+ color: #212529;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
@@ -1982,9 +1988,9 @@ progress {
}
.form-control:focus {
- color: #495057;
+ color: #212529;
background-color: #fff;
- border-color: #8bbafe;
+ border-color: #86b7fe;
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
@@ -2061,12 +2067,12 @@ progress {
.form-select {
display: block;
width: 100%;
- height: calc(1.5em + 0.75rem + 2px);
+ min-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;
+ color: #212529;
vertical-align: middle;
background-color: #fff;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
@@ -2081,13 +2087,13 @@ progress {
}
.form-select:focus {
- border-color: #8bbafe;
+ border-color: #86b7fe;
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-select:focus::-ms-value {
- color: #495057;
+ color: #212529;
background-color: #fff;
}
@@ -2104,7 +2110,7 @@ progress {
.form-select:-moz-focusring {
color: transparent;
- text-shadow: 0 0 0 #495057;
+ text-shadow: 0 0 0 #212529;
}
.form-select-sm {
@@ -2172,7 +2178,7 @@ progress {
}
.form-check-input:focus {
- border-color: #8bbafe;
+ border-color: #86b7fe;
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
@@ -2199,11 +2205,11 @@ progress {
.form-check-input:disabled {
pointer-events: none;
filter: none;
- opacity: .5;
+ opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
- opacity: .5;
+ opacity: 0.5;
}
.form-switch {
@@ -2219,7 +2225,7 @@ progress {
}
.form-switch .form-check-input:focus {
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238bbafe'/%3e%3c/svg%3e");
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
@@ -2238,6 +2244,12 @@ progress {
pointer-events: none;
}
+.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
+ pointer-events: none;
+ filter: none;
+ opacity: 0.65;
+}
+
.form-file {
--bs-form-file-height: calc(1.5em + 0.75rem + 2px);
position: relative;
@@ -2253,7 +2265,7 @@ progress {
}
.form-file-input:focus-within ~ .form-file-label {
- border-color: #8bbafe;
+ border-color: #86b7fe;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
@@ -2281,7 +2293,7 @@ progress {
overflow: hidden;
font-weight: 400;
line-height: 1.5;
- color: #495057;
+ color: #212529;
text-overflow: ellipsis;
white-space: nowrap;
background-color: #fff;
@@ -2298,7 +2310,7 @@ progress {
padding: 0.375rem 0.75rem;
margin-left: -1px;
line-height: 1.5;
- color: #495057;
+ color: #212529;
background-color: #e9ecef;
border-color: inherit;
border-style: solid;
@@ -2378,7 +2390,7 @@ progress {
}
.form-range::-webkit-slider-thumb:active {
- background-color: #bed8fe;
+ background-color: #b6d4fe;
}
.form-range::-webkit-slider-runnable-track {
@@ -2411,7 +2423,7 @@ progress {
}
.form-range::-moz-range-thumb:active {
- background-color: #bed8fe;
+ background-color: #b6d4fe;
}
.form-range::-moz-range-track {
@@ -2446,7 +2458,7 @@ progress {
}
.form-range::-ms-thumb:active {
- background-color: #bed8fe;
+ background-color: #b6d4fe;
}
.form-range::-ms-track {
@@ -2486,6 +2498,104 @@ progress {
background-color: #adb5bd;
}
+.form-floating {
+ position: relative;
+}
+
+.form-floating > .form-control,
+.form-floating > .form-select {
+ height: calc(3.5rem + 2px);
+ padding: 1rem 0.75rem;
+}
+
+.form-floating > label {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ padding: 1rem 0.75rem;
+ pointer-events: none;
+ border: 1px solid transparent;
+ transform-origin: 0 0;
+ transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
+}
+
+@media (prefers-reduced-motion: reduce) {
+ .form-floating > label {
+ transition: none;
+ }
+}
+
+.form-floating > .form-control::-webkit-input-placeholder {
+ color: transparent;
+}
+
+.form-floating > .form-control::-moz-placeholder {
+ color: transparent;
+}
+
+.form-floating > .form-control::-ms-input-placeholder {
+ color: transparent;
+}
+
+.form-floating > .form-control::placeholder {
+ color: transparent;
+}
+
+.form-floating > .form-control:not(:-moz-placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+
+.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+
+.form-floating > .form-control:-webkit-autofill {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+
+.form-floating > .form-select {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+
+.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+
+.form-floating > .form-control:focus ~ label,
+.form-floating > .form-control:not(:placeholder-shown) ~ label,
+.form-floating > .form-select ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+
+.form-floating > .form-control:-webkit-autofill ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+
+@supports (-ms-ime-align: auto) {
+ .form-floating {
+ display: flex;
+ flex-direction: column-reverse;
+ }
+ .form-floating > label {
+ position: static;
+ padding: 0;
+ margin-bottom: calc(1rem / 2);
+ border: 0;
+ transition: none;
+ }
+ .form-floating > .form-control::-ms-input-placeholder {
+ color: #6c757d;
+ }
+}
+
.input-group {
position: relative;
display: flex;
@@ -2539,7 +2649,7 @@ progress {
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
- color: #495057;
+ color: #212529;
text-align: center;
white-space: nowrap;
background-color: #e9ecef;
@@ -2586,13 +2696,19 @@ progress {
padding-right: 1.75rem;
}
-.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
-.input-group > .dropdown-toggle:nth-last-child(n + 3) {
+.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
+.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
-.input-group > :not(:first-child):not(.dropdown-menu) {
+.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),
+.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
margin-left: -1px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
@@ -2828,14 +2944,14 @@ fieldset:disabled .btn {
.btn-primary:hover {
color: #fff;
- background-color: #025ce2;
- border-color: #0257d5;
+ background-color: #0b5ed7;
+ border-color: #0a58ca;
}
.btn-check:focus + .btn-primary, .btn-primary:focus {
color: #fff;
- background-color: #025ce2;
- border-color: #0257d5;
+ background-color: #0b5ed7;
+ border-color: #0a58ca;
box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);
}
@@ -2843,8 +2959,8 @@ fieldset:disabled .btn {
.btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active,
.show > .btn-primary.dropdown-toggle {
color: #fff;
- background-color: #0257d5;
- border-color: #0252c9;
+ background-color: #0a58ca;
+ border-color: #0a53be;
}
.btn-check:checked + .btn-primary:focus,
@@ -2867,14 +2983,14 @@ fieldset:disabled .btn {
.btn-secondary:hover {
color: #fff;
- background-color: #5a6268;
- border-color: #545b62;
+ background-color: #5c636a;
+ border-color: #565e64;
}
.btn-check:focus + .btn-secondary, .btn-secondary:focus {
color: #fff;
- background-color: #5a6268;
- border-color: #545b62;
+ background-color: #5c636a;
+ border-color: #565e64;
box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);
}
@@ -2882,8 +2998,8 @@ fieldset:disabled .btn {
.btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
color: #fff;
- background-color: #545b62;
- border-color: #4e555b;
+ background-color: #565e64;
+ border-color: #51585e;
}
.btn-check:checked + .btn-secondary:focus,
@@ -2906,14 +3022,14 @@ fieldset:disabled .btn {
.btn-success:hover {
color: #fff;
- background-color: #136740;
- border-color: #115c39;
+ background-color: #157347;
+ border-color: #146c43;
}
.btn-check:focus + .btn-success, .btn-success:focus {
color: #fff;
- background-color: #136740;
- border-color: #115c39;
+ background-color: #157347;
+ border-color: #146c43;
box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);
}
@@ -2921,8 +3037,8 @@ fieldset:disabled .btn {
.btn-check:active + .btn-success, .btn-success:active, .btn-success.active,
.show > .btn-success.dropdown-toggle {
color: #fff;
- background-color: #115c39;
- border-color: #0f5133;
+ background-color: #146c43;
+ border-color: #13653f;
}
.btn-check:checked + .btn-success:focus,
@@ -2945,14 +3061,14 @@ fieldset:disabled .btn {
.btn-info:hover {
color: #000;
- background-color: #2fd3f4;
- border-color: #23d0f3;
+ background-color: #31d2f2;
+ border-color: #25cff2;
}
.btn-check:focus + .btn-info, .btn-info:focus {
color: #000;
- background-color: #2fd3f4;
- border-color: #23d0f3;
+ background-color: #31d2f2;
+ border-color: #25cff2;
box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);
}
@@ -2960,8 +3076,8 @@ fieldset:disabled .btn {
.btn-check:active + .btn-info, .btn-info:active, .btn-info.active,
.show > .btn-info.dropdown-toggle {
color: #000;
- background-color: #3cd5f4;
- border-color: #23d0f3;
+ background-color: #3dd5f3;
+ border-color: #25cff2;
}
.btn-check:checked + .btn-info:focus,
@@ -2984,14 +3100,14 @@ fieldset:disabled .btn {
.btn-warning:hover {
color: #000;
- background-color: #ffcb2d;
- border-color: #ffc721;
+ background-color: #ffca2c;
+ border-color: #ffc720;
}
.btn-check:focus + .btn-warning, .btn-warning:focus {
color: #000;
- background-color: #ffcb2d;
- border-color: #ffc721;
+ background-color: #ffca2c;
+ border-color: #ffc720;
box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);
}
@@ -2999,8 +3115,8 @@ fieldset:disabled .btn {
.btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active,
.show > .btn-warning.dropdown-toggle {
color: #000;
- background-color: #ffce3a;
- border-color: #ffc721;
+ background-color: #ffcd39;
+ border-color: #ffc720;
}
.btn-check:checked + .btn-warning:focus,
@@ -3023,14 +3139,14 @@ fieldset:disabled .btn {
.btn-danger:hover {
color: #fff;
- background-color: #c82333;
- border-color: #bd2130;
+ background-color: #bb2d3b;
+ border-color: #b02a37;
}
.btn-check:focus + .btn-danger, .btn-danger:focus {
color: #fff;
- background-color: #c82333;
- border-color: #bd2130;
+ background-color: #bb2d3b;
+ border-color: #b02a37;
box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);
}
@@ -3038,8 +3154,8 @@ fieldset:disabled .btn {
.btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active,
.show > .btn-danger.dropdown-toggle {
color: #fff;
- background-color: #bd2130;
- border-color: #b21f2d;
+ background-color: #b02a37;
+ border-color: #a52834;
}
.btn-check:checked + .btn-danger:focus,
@@ -3062,14 +3178,14 @@ fieldset:disabled .btn {
.btn-light:hover {
color: #000;
- background-color: white;
- border-color: white;
+ background-color: #f9fafb;
+ border-color: #f9fafb;
}
.btn-check:focus + .btn-light, .btn-light:focus {
color: #000;
- background-color: white;
- border-color: white;
+ background-color: #f9fafb;
+ border-color: #f9fafb;
box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
}
@@ -3077,8 +3193,8 @@ fieldset:disabled .btn {
.btn-check:active + .btn-light, .btn-light:active, .btn-light.active,
.show > .btn-light.dropdown-toggle {
color: #000;
- background-color: white;
- border-color: white;
+ background-color: #f9fafb;
+ border-color: #f9fafb;
}
.btn-check:checked + .btn-light:focus,
@@ -3095,41 +3211,41 @@ fieldset:disabled .btn {
.btn-dark {
color: #fff;
- background-color: #343a40;
- border-color: #343a40;
+ background-color: #212529;
+ border-color: #212529;
}
.btn-dark:hover {
color: #fff;
- background-color: #23272b;
- border-color: #1d2124;
+ background-color: #1c1f23;
+ border-color: #1a1e21;
}
.btn-check:focus + .btn-dark, .btn-dark:focus {
color: #fff;
- background-color: #23272b;
- border-color: #1d2124;
- box-shadow: 0 0 0 0.25rem rgba(82, 88, 93, 0.5);
+ background-color: #1c1f23;
+ border-color: #1a1e21;
+ box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
}
.btn-check:checked + .btn-dark,
.btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active,
.show > .btn-dark.dropdown-toggle {
color: #fff;
- background-color: #1d2124;
- border-color: #171a1d;
+ background-color: #1a1e21;
+ border-color: #191c1f;
}
.btn-check:checked + .btn-dark:focus,
.btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus,
.show > .btn-dark.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.25rem rgba(82, 88, 93, 0.5);
+ box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
}
.btn-dark:disabled, .btn-dark.disabled {
color: #fff;
- background-color: #343a40;
- border-color: #343a40;
+ background-color: #212529;
+ border-color: #212529;
}
.btn-outline-primary {
@@ -3357,34 +3473,34 @@ fieldset:disabled .btn {
}
.btn-outline-dark {
- color: #343a40;
- border-color: #343a40;
+ color: #212529;
+ border-color: #212529;
}
.btn-outline-dark:hover {
color: #fff;
- background-color: #343a40;
- border-color: #343a40;
+ background-color: #212529;
+ border-color: #212529;
}
.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {
- box-shadow: 0 0 0 0.25rem rgba(52, 58, 64, 0.5);
+ box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);
}
.btn-check:checked + .btn-outline-dark,
.btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {
color: #fff;
- background-color: #343a40;
- border-color: #343a40;
+ background-color: #212529;
+ border-color: #212529;
}
.btn-check:checked + .btn-outline-dark:focus,
.btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {
- box-shadow: 0 0 0 0.25rem rgba(52, 58, 64, 0.5);
+ box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);
}
.btn-outline-dark:disabled, .btn-outline-dark.disabled {
- color: #343a40;
+ color: #212529;
background-color: transparent;
}
@@ -3395,7 +3511,7 @@ fieldset:disabled .btn {
}
.btn-link:hover {
- color: #024dbc;
+ color: #0a58ca;
}
.btn-link:disabled, .btn-link.disabled {
@@ -3676,7 +3792,7 @@ fieldset:disabled .btn {
}
.dropdown-item:hover, .dropdown-item:focus {
- color: #16181b;
+ color: #1e2125;
background-color: #f8f9fa;
}
@@ -4470,16 +4586,12 @@ fieldset:disabled .btn {
border-radius: 0.25rem;
}
-.breadcrumb-item {
- display: flex;
-}
-
.breadcrumb-item + .breadcrumb-item {
padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
- display: inline-block;
+ float: left;
padding-right: 0.5rem;
color: #6c757d;
content: "/";
@@ -4513,14 +4625,14 @@ fieldset:disabled .btn {
.page-link:hover {
z-index: 2;
- color: #024dbc;
+ color: #0a58ca;
background-color: #e9ecef;
border-color: #dee2e6;
}
.page-link:focus {
z-index: 3;
- color: #024dbc;
+ color: #0a58ca;
background-color: #e9ecef;
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
@@ -4634,87 +4746,88 @@ fieldset:disabled .btn {
position: absolute;
top: 0;
right: 0;
+ z-index: 2;
padding: 1.25rem 1rem;
}
.alert-primary {
- color: #073984;
+ color: #07377f;
background-color: #cfe2ff;
- border-color: #bbd6fe;
+ border-color: #b6d4fe;
}
.alert-primary .alert-link {
- color: #042454;
+ color: #062c66;
}
.alert-secondary {
- color: #383d41;
+ color: #363b3f;
background-color: #e2e3e5;
- border-color: #d6d8db;
+ border-color: #d3d6d8;
}
.alert-secondary .alert-link {
- color: #202326;
+ color: #2b2f32;
}
.alert-success {
- color: #0d462c;
+ color: #0d442a;
background-color: #d1e7dd;
- border-color: #bfddcf;
+ border-color: #badbcc;
}
.alert-success .alert-link {
- color: #051b11;
+ color: #0a3622;
}
.alert-info {
- color: #07697d;
+ color: #076578;
background-color: #cff4fc;
- border-color: #bbf0fb;
+ border-color: #b6effb;
}
.alert-info .alert-link {
- color: #04404d;
+ color: #065160;
}
.alert-warning {
- color: #856404;
+ color: #806104;
background-color: #fff3cd;
- border-color: #ffeeba;
+ border-color: #ffecb5;
}
.alert-warning .alert-link {
- color: #533f03;
+ color: #664e03;
}
.alert-danger {
- color: #721c24;
+ color: #6e1b23;
background-color: #f8d7da;
- border-color: #f5c6cb;
+ border-color: #f5c2c7;
}
.alert-danger .alert-link {
- color: #491217;
+ color: #58161c;
}
.alert-light {
- color: #818182;
+ color: #7c7d7d;
background-color: #fefefe;
border-color: #fdfdfe;
}
.alert-light .alert-link {
- color: #686868;
+ color: #636464;
}
.alert-dark {
- color: #1b1e21;
- background-color: #d6d8d9;
- border-color: #c6c8ca;
+ color: #111315;
+ background-color: #d3d3d4;
+ border-color: #bcbebf;
}
.alert-dark .alert-link {
- color: #040505;
+ color: #0e0f11;
}
@-webkit-keyframes progress-bar-stripes {
@@ -5006,131 +5119,131 @@ fieldset:disabled .btn {
}
.list-group-item-primary {
- color: #073984;
- background-color: #bbd6fe;
+ color: #07377f;
+ background-color: #cfe2ff;
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
- color: #073984;
- background-color: #a2c7fe;
+ color: #07377f;
+ background-color: #bacbe6;
}
.list-group-item-primary.list-group-item-action.active {
color: #fff;
- background-color: #073984;
- border-color: #073984;
+ background-color: #07377f;
+ border-color: #07377f;
}
.list-group-item-secondary {
- color: #383d41;
- background-color: #d6d8db;
+ color: #363b3f;
+ background-color: #e2e3e5;
}
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
- color: #383d41;
- background-color: #c8cbcf;
+ color: #363b3f;
+ background-color: #cbccce;
}
.list-group-item-secondary.list-group-item-action.active {
color: #fff;
- background-color: #383d41;
- border-color: #383d41;
+ background-color: #363b3f;
+ border-color: #363b3f;
}
.list-group-item-success {
- color: #0d462c;
- background-color: #bfddcf;
+ color: #0d442a;
+ background-color: #d1e7dd;
}
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
- color: #0d462c;
- background-color: #aed4c3;
+ color: #0d442a;
+ background-color: #bcd0c7;
}
.list-group-item-success.list-group-item-action.active {
color: #fff;
- background-color: #0d462c;
- border-color: #0d462c;
+ background-color: #0d442a;
+ border-color: #0d442a;
}
.list-group-item-info {
- color: #07697d;
- background-color: #bbf0fb;
+ color: #076578;
+ background-color: #cff4fc;
}
.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
- color: #07697d;
- background-color: #a3ebfa;
+ color: #076578;
+ background-color: #badce3;
}
.list-group-item-info.list-group-item-action.active {
color: #fff;
- background-color: #07697d;
- border-color: #07697d;
+ background-color: #076578;
+ border-color: #076578;
}
.list-group-item-warning {
- color: #856404;
- background-color: #ffeeba;
+ color: #806104;
+ background-color: #fff3cd;
}
.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
- color: #856404;
- background-color: #ffe8a1;
+ color: #806104;
+ background-color: #e6dbb9;
}
.list-group-item-warning.list-group-item-action.active {
color: #fff;
- background-color: #856404;
- border-color: #856404;
+ background-color: #806104;
+ border-color: #806104;
}
.list-group-item-danger {
- color: #721c24;
- background-color: #f5c6cb;
+ color: #6e1b23;
+ background-color: #f8d7da;
}
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
- color: #721c24;
- background-color: #f1b0b7;
+ color: #6e1b23;
+ background-color: #dfc2c4;
}
.list-group-item-danger.list-group-item-action.active {
color: #fff;
- background-color: #721c24;
- border-color: #721c24;
+ background-color: #6e1b23;
+ border-color: #6e1b23;
}
.list-group-item-light {
- color: #818182;
- background-color: #fdfdfe;
+ color: #7c7d7d;
+ background-color: #fefefe;
}
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
- color: #818182;
- background-color: #ececf6;
+ color: #7c7d7d;
+ background-color: #e5e5e5;
}
.list-group-item-light.list-group-item-action.active {
color: #fff;
- background-color: #818182;
- border-color: #818182;
+ background-color: #7c7d7d;
+ border-color: #7c7d7d;
}
.list-group-item-dark {
- color: #1b1e21;
- background-color: #c6c8ca;
+ color: #111315;
+ background-color: #d3d3d4;
}
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
- color: #1b1e21;
- background-color: #b9bbbe;
+ color: #111315;
+ background-color: #bebebf;
}
.list-group-item-dark.list-group-item-action.active {
color: #fff;
- background-color: #1b1e21;
- border-color: #1b1e21;
+ background-color: #111315;
+ border-color: #111315;
}
.btn-close {
@@ -5140,7 +5253,6 @@ fieldset:disabled .btn {
padding: 0.25em 0.25em;
color: #000;
background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 16 16'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") no-repeat center center/1em auto;
- background-clip: content-box;
border: 0;
border-radius: 0.25rem;
opacity: 0.5;
@@ -5764,7 +5876,7 @@ fieldset:disabled .btn {
width: 1rem;
margin-left: -0.5rem;
content: "";
- border-bottom: 1px solid #f7f7f7;
+ border-bottom: 1px solid #f0f0f0;
}
.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
@@ -5794,8 +5906,8 @@ fieldset:disabled .btn {
padding: 0.5rem 1rem;
margin-bottom: 0;
font-size: 1rem;
- background-color: #f7f7f7;
- border-bottom: 1px solid #ebebeb;
+ background-color: #f0f0f0;
+ border-bottom: 1px solid #d8d8d8;
border-top-left-radius: calc(0.3rem - 1px);
border-top-right-radius: calc(0.3rem - 1px);
}
@@ -6079,6 +6191,14 @@ fieldset:disabled .btn {
height: 1rem;
}
+@media (prefers-reduced-motion: reduce) {
+ .spinner-border,
+ .spinner-grow {
+ -webkit-animation-duration: 1.5s;
+ animation-duration: 1.5s;
+ }
+}
+
.clearfix::after {
display: block;
clear: both;
@@ -6090,7 +6210,7 @@ fieldset:disabled .btn {
}
.link-primary:hover, .link-primary:focus {
- color: #024dbc;
+ color: #0a58ca;
}
.link-secondary {
@@ -6098,7 +6218,7 @@ fieldset:disabled .btn {
}
.link-secondary:hover, .link-secondary:focus {
- color: #494f54;
+ color: #565e64;
}
.link-success {
@@ -6106,7 +6226,7 @@ fieldset:disabled .btn {
}
.link-success:hover, .link-success:focus {
- color: #0d462c;
+ color: #146c43;
}
.link-info {
@@ -6114,7 +6234,7 @@ fieldset:disabled .btn {
}
.link-info:hover, .link-info:focus {
- color: #54dbf6;
+ color: #3dd5f3;
}
.link-warning {
@@ -6122,7 +6242,7 @@ fieldset:disabled .btn {
}
.link-warning:hover, .link-warning:focus {
- color: #ffd454;
+ color: #ffcd39;
}
.link-danger {
@@ -6130,7 +6250,7 @@ fieldset:disabled .btn {
}
.link-danger:hover, .link-danger:focus {
- color: #a71d2a;
+ color: #b02a37;
}
.link-light {
@@ -6138,15 +6258,15 @@ fieldset:disabled .btn {
}
.link-light:hover, .link-light:focus {
- color: white;
+ color: #f9fafb;
}
.link-dark {
- color: #343a40;
+ color: #212529;
}
.link-dark:hover, .link-dark:focus {
- color: #121416;
+ color: #1a1e21;
}
.ratio {
@@ -6325,6 +6445,14 @@ fieldset:disabled .btn {
overflow: hidden !important;
}
+.overflow-visible {
+ overflow: visible !important;
+}
+
+.overflow-scroll {
+ overflow: scroll !important;
+}
+
.d-inline {
display: inline !important;
}
@@ -6519,7 +6647,7 @@ fieldset:disabled .btn {
}
.border-dark {
- border-color: #343a40 !important;
+ border-color: #212529 !important;
}
.border-white {
@@ -7176,6 +7304,38 @@ fieldset:disabled .btn {
padding-left: 3rem !important;
}
+.fs-1 {
+ font-size: calc(1.375rem + 1.5vw) !important;
+}
+
+.fs-2 {
+ font-size: calc(1.325rem + 0.9vw) !important;
+}
+
+.fs-3 {
+ font-size: calc(1.3rem + 0.6vw) !important;
+}
+
+.fs-4 {
+ font-size: calc(1.275rem + 0.3vw) !important;
+}
+
+.fs-5 {
+ font-size: 1.25rem !important;
+}
+
+.fs-6 {
+ font-size: 1rem !important;
+}
+
+.fst-italic {
+ font-style: italic !important;
+}
+
+.fst-normal {
+ font-style: normal !important;
+}
+
.font-weight-light {
font-weight: 300 !important;
}
@@ -7249,7 +7409,7 @@ fieldset:disabled .btn {
}
.text-dark {
- color: #343a40 !important;
+ color: #212529 !important;
}
.text-white {
@@ -7321,7 +7481,7 @@ fieldset:disabled .btn {
}
.bg-dark {
- background-color: #343a40 !important;
+ background-color: #212529 !important;
}
.bg-body {
@@ -7360,14 +7520,6 @@ fieldset:disabled .btn {
text-decoration: line-through !important;
}
-.font-italic {
- font-style: italic !important;
-}
-
-.font-normal {
- font-style: normal !important;
-}
-
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
@@ -9838,6 +9990,57 @@ fieldset:disabled .btn {
}
}
+@media (min-width: 1200px) {
+ .fs-1 {
+ font-size: 2.5rem !important;
+ }
+ .fs-2 {
+ font-size: 2rem !important;
+ }
+ .fs-3 {
+ font-size: 1.75rem !important;
+ }
+ .fs-4 {
+ font-size: 1.5rem !important;
+ }
+ .fs-sm-1 {
+ font-size: 2.5rem !important;
+ }
+ .fs-sm-2 {
+ font-size: 2rem !important;
+ }
+ .fs-sm-3 {
+ font-size: 1.75rem !important;
+ }
+ .fs-sm-4 {
+ font-size: 1.5rem !important;
+ }
+ .fs-md-1 {
+ font-size: 2.5rem !important;
+ }
+ .fs-md-2 {
+ font-size: 2rem !important;
+ }
+ .fs-md-3 {
+ font-size: 1.75rem !important;
+ }
+ .fs-md-4 {
+ font-size: 1.5rem !important;
+ }
+ .fs-lg-1 {
+ font-size: 2.5rem !important;
+ }
+ .fs-lg-2 {
+ font-size: 2rem !important;
+ }
+ .fs-lg-3 {
+ font-size: 1.75rem !important;
+ }
+ .fs-lg-4 {
+ font-size: 1.5rem !important;
+ }
+}
+
@media print {
.d-print-inline {
display: inline !important;
diff --git a/dist/css/bootstrap.css.map b/dist/css/bootstrap.css.map
index 4405f2e79c..7227a806e8 100644
--- a/dist/css/bootstrap.css.map
+++ b/dist/css/bootstrap.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-variants.scss","../../scss/forms/_labels.scss","../../scss/_functions.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-file.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-range.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_ratio.scss","../../scss/helpers/_position.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACLF;EAGI,kBAAoB;EAApB,oBAAoB;EAApB,oBAAoB;EAApB,kBAAoB;EAApB,iBAAoB;EAApB,oBAAoB;EAApB,oBAAoB;EAApB,mBAAoB;EAApB,kBAAoB;EAApB,kBAAoB;EAApB,gBAAoB;EAApB,kBAAoB;EAApB,uBAAoB;EAIpB,qBAAoB;EAApB,uBAAoB;EAApB,qBAAoB;EAApB,kBAAoB;EAApB,qBAAoB;EAApB,oBAAoB;EAApB,mBAAoB;EAApB,kBAAoB;EAKtB,kMAAqB;EACrB,yGAAoB;EACpB,yFAAc;ADiBhB;;AEhBA;;;EAGE,sBAAsB;AFmBxB;;AEEA;EACE,SAAS;EACT,sCCoWqD;EClJjD,eAvE+B;EFzInC,gBC8W+B;ED7W/B,gBCmX+B;EDlX/B,cC7BgB;ED+BhB,sBCxCa;EDyCb,8BAA8B;EAC9B,6CChCa;AHgCf;;AAEA;EEYE,qBAAqB;AFVvB;;AEmBA;EACE,cAAsB;EACtB,cCsYmC;EDrYnC,8BAA8B;EAC9B,SAAS;EACT,aCqY+B;AHrZjC;;AEmBA;EACE,WCwQ+B;AHxRjC;;AE0BA;EACE,aAAa;EACb,qBC6UuC;ED1UvC,gBC6U+B;ED5U/B,gBC6U+B;AHtWjC;;AE6BA;EE0JQ,iCAf6B;AJpKrC;;AIiBI;EFQJ;IEiKQ,iBAlF6B;EJnGnC;AACF;;AEwBA;EEqJQ,iCAf6B;AJ1JrC;;AIOI;EFaJ;IE4JQ,eAlF6B;EJzFnC;AACF;;AEmBA;EEgJQ,+BAf6B;AJhJrC;;AIHI;EFkBJ;IEuJQ,kBAlF6B;EJ/EnC;AACF;;AEcA;EE2IQ,iCAf6B;AJtIrC;;AIbI;EFuBJ;IEkJQ,iBAlF6B;EJrEnC;AACF;;AESA;EEkIM,kBAvE+B;AJhErC;;AEUA;EE6HM,eAvE+B;AJ5DrC;;AEiBA;EACE,aAAa;EACb,mBCmJ8B;AHjKhC;;AEyBA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;AFtBhC;;AE4BA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AFzBtB;;AE+BA;;EAEE,kBAAkB;AF5BpB;;AE+BA;;;EAGE,aAAa;EACb,mBAAmB;AF5BrB;;AE+BA;;;;EAIE,gBAAgB;AF5BlB;;AE+BA;EACE,gBC4N+B;AHxPjC;;AEiCA;EACE,oBAAoB;EACpB,cAAc;AF9BhB;;AEoCA;EACE,gBAAgB;AFjClB;;AEyCA;;EAEE,mBCqMkC;AH3OpC;;AE8CA;EE6BM,kBAvE+B;AJArC;;AEiDA;EACE,cCkPgC;EDjPhC,yBCyPmC;AHvSrC;;AEuDA;;EAEE,kBAAkB;EESd,iBAvE+B;EFgEnC,cAAc;EACd,wBAAwB;AFpD1B;;AEuDA;EAAM,cAAc;AFnDpB;;AEoDA;EAAM,UAAU;AFhDhB;;AEqDA;EACE,cC9Ne;ED+Nf,0BCiBiD;AHnEnD;;AEgDA;EAKI,cCe8D;AHhElE;;AE2DA;EAGI,cAAc;EACd,qBAAqB;AF1DzB;;AEiEA;;;;EAIE,qCCkHoD;ECnJhD,cAvE+B;AJ2CrC;;AEuEA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EE/CV,kBAvE+B;EFyHnC,6BAA6B;AFrE/B;;AE8DA;EE3CM,kBAvE+B;EF8HjC,cAAc;EACd,kBAAkB;AFrEtB;;AEyEA;EE5DM,kBAvE+B;EFqInC,cCrRe;EDsRf,qBAAqB;AFtEvB;;AEyEE;EACE,cAAc;AFtElB;;AE0EA;EACE,sBCm9BuC;EC3hCnC,kBAvE+B;EFiJnC,WC9Ta;ED+Tb,yBCtTgB;EEEd,qBF2U+B;AH7FnC;;AEkEA;EAQI,UAAU;EE/ER,cAvE+B;EFwJjC,gBC8E6B;AHpJjC;;AE+EA;EACE,gBAAgB;AF5ElB;;AEkFA;;EAEE,sBAAsB;AF/ExB;;AEuFA;EACE,oBAAoB;EACpB,yBAAyB;AFpF3B;;AEuFA;EACE,mBC4HiC;ED3HjC,sBC2HiC;ED1HjC,cCjWgB;EDkWhB,gBAAgB;AFpFlB;;AE2FA;EAEE,mBAAmB;EACnB,gCAAgC;AFzFlC;;AE4FA;;;;;;EAME,qBAAqB;EACrB,mBAAmB;EACnB,eAAe;AFzFjB;;AEiGA;EACE,qBAAqB;AF9FvB;;AEoGA;EAEE,gBAAgB;AFlGlB;;AEyGA;EACE,mBAAmB;EACnB,0CAA0C;AFtG5C;;AE2GA;;;;;EAKE,SAAS;EACT,oBAAoB;EE9KhB,kBAvE+B;EFuPnC,oBAAoB;AFxGtB;;AE6GA;;EAEE,iBAAiB;AF1GnB;;AE+GA;;EAEE,oBAAoB;AF5GtB;;AAEA;EEiHE,eAAe;AF/GjB;;AEqHA;EACE,iBAAiB;AFlHnB;;AAEA;EEuHE,aAAa;AFrHf;;AE6HA;;;;EAIE,0BAA0B;AF1H5B;;AEsHA;;;;EAQM,eAAe;AFvHrB;;AE8HA;EACE,UAAU;EACV,kBAAkB;AF3HpB;;AEgIA;EACE,gBAAgB;AF7HlB;;AEuIA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AFpIX;;AE6IA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBCpDiC;ECrN3B,iCAf6B;EF2RnC,oBAAoB;EACpB,mBAAmB;AF3IrB;;AIpSI;EFuaJ;IE9PQ,iBAlF6B;EJkNnC;AACF;;AE6HA;EAWI,WAAW;AFpIf;;AE2IA;;;;;;;EAOE,UAAU;AFxIZ;;AE2IA;EACE,YAAY;AFxId;;AAEA;EEgJE,oBAAoB;EACpB,6BAA6B;AF9I/B;;AEmJA;EACE,wBAAwB;AFhJ1B;;AEqJA;EACE,UAAU;AFlJZ;;AEwJA;EACE,aAAa;EACb,0BAA0B;AFrJ5B;;AE0JA;EACE,qBAAqB;AFvJvB;;AE4JA;EACE,SAAS;AFzJX;;AEgKA;EACE,kBAAkB;EAClB,eAAe;AF7JjB;;AEqKA;EACE,wBAAwB;AFlK1B;;AAEA;EEyKE,wBAAwB;AFvK1B;;AMpaA;EF+NM,kBAvE+B;EEtJnC,gBHka+B;AHKjC;;AMlaE;EF4NM,iCAf6B;EE3MjC,gBHsZqB;EGrZrB,gBHwY6B;AH6BjC;;AI9WI;EE1DF;IFmOM,eAlF6B;EJ4RnC;AACF;;AM9aE;EF4NM,iCAf6B;EE3MjC,gBHsZqB;EGrZrB,gBHwY6B;AHyCjC;;AI1XI;EE1DF;IFmOM,iBAlF6B;EJwSnC;AACF;;AM1bE;EF4NM,iCAf6B;EE3MjC,gBHsZqB;EGrZrB,gBHwY6B;AHqDjC;;AItYI;EE1DF;IFmOM,eAlF6B;EJoTnC;AACF;;AMtcE;EF4NM,iCAf6B;EE3MjC,gBHsZqB;EGrZrB,gBHwY6B;AHiEjC;;AIlZI;EE1DF;IFmOM,iBAlF6B;EJgUnC;AACF;;AMldE;EF4NM,iCAf6B;EE3MjC,gBHsZqB;EGrZrB,gBHwY6B;AH6EjC;;AI9ZI;EE1DF;IFmOM,eAlF6B;EJ4UnC;AACF;;AM9dE;EF4NM,iCAf6B;EE3MjC,gBHsZqB;EGrZrB,gBHwY6B;AHyFjC;;AI1aI;EE1DF;IFmOM,iBAlF6B;EJwVnC;AACF;;AMpdA;ECrDE,eAAe;EACf,gBAAgB;AP6gBlB;;AMpdA;EC1DE,eAAe;EACf,gBAAgB;APkhBlB;;AMtdA;EACE,qBAAqB;ANydvB;;AM1dA;EAII,oBHyZ+B;AHiEnC;;AMhdA;EF4KM,kBAvE+B;EEnGnC,yBAAyB;ANmd3B;;AM/cA;EACE,mBHsJW;ECeP,kBAvE+B;AJqXrC;;AMpdA;EAKI,gBAAgB;ANmdpB;;AM/cA;EACE,iBH6IW;EG5IX,mBH4IW;ECeP,kBAvE+B;EElFnC,cHrFgB;AHuiBlB;;AMtdA;EAOI,qBAAqB;ANmdzB;;AQjjBA;ECIE,eAAe;EAGf,YAAY;AT+iBd;;AQhjBA;EACE,gBLyqCwC;EKxqCxC,sBLRa;EKSb,yBLNgB;EEQd,sBF0UgC;EMjVlC,eAAe;EAGf,YAAY;ATwjBd;;AQ1iBA;EAEE,qBAAqB;AR4iBvB;;AQziBA;EACE,qBAA0B;EAC1B,cAAc;AR4iBhB;;AQziBA;EJqNM,kBAvE+B;EI5InC,cL3BgB;AHukBlB;;AU9kBE;;;;;;;ECHA,qBAAc;EAEd,WAAW;EACX,2CAA2C;EAC3C,0CAA0C;EAC1C,kBAAkB;EAClB,iBAAiB;AX0lBnB;;AYpiBI;EF5CE;IACE,gBPuSG;EH6ST;AACF;;AY1iBI;EF5CE;IACE,gBPwSG;EHkTT;AACF;;AYhjBI;EF5CE;IACE,gBPySG;EHuTT;AACF;;AYtjBI;EF5CE;IACE,iBP0SI;EH4TV;AACF;;AY5jBI;EF5CE;IACE,iBP2SK;EHiUX;AACF;;Aa5nBE;ECAA,qBAAc;EACd,gBAAc;EACd,aAAa;EACb,eAAe;EACf,yCAAyC;EACzC,2CAA2C;EAC3C,0CAA0C;A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EdmE1D,kBAvE+B;AJkuDrC;;AiBv3DA;EACE,gCCwJ8D;EDvJ9D,mCCuJ8D;EdmE1D,mBAvE+B;AJwuDrC;;AmBx5DA;EACE,mBhB0lB4C;ECpWxC,kBAvE+B;Ee3KnC,chBIgB;AHq5DlB;;AoB95DA;EACE,cAAc;EACd,WAAW;EACX,uCFiL8D;EEhL9D,yBjBshBkC;ECnS9B,eAvE+B;EgBzKnC,gBjB8Y+B;EiB7Y/B,gBjBmZ+B;EiBlZ/B,cjBCgB;EiBAhB,sBjBPa;EiBQb,4BAA4B;EAC5B,yBjBLgB;EiBMhB,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;EfCd,sBF0UgC;EkB5U9B,wElB0oB4F;AHyxClG;;AqB/5DM;EDhBN;ICiBQ,gBAAgB;ErBm6DtB;AACF;;AoBr7DA;EAuBI,cjBbc;EiBcd,sBjBrBW;EiBsBX,qBjB2mBsE;EiB1mBtE,UAAU;EAKR,kDjBFW;AHg6DjB;;AoB77DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApB25Dd;;AoBl8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApB25Dd;;AoBl8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApB25Dd;;AoBl8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApB25Dd;;AoBl8DA;EAiDI,yBjB5Cc;EiB+Cd,UAAU;ApBm5Dd;;AoB14DA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EAChB,gBjByV+B;EiBxV/B,cjBvDgB;EiBwDhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;ApB64DrC;;AoBt5DA;EAaI,gBAAgB;EAChB,eAAe;ApB64DnB;;AoBl4DA;EACE,sCF6F8D;EE5F9D,uBjB6ciC;EC9S7B,mBAvE+B;EClKjC,qBF2U+B;AHsoDnC;;AoBl4DA;EACE,oCFsF8D;EErF9D,oBjB0cgC;EClT5B,kBAvE+B;EClKjC,qBF4U+B;AH4oDnC;;AoBl4DA;EACE,eAAe;EACf,iBjBmbmC;AHk9CrC;;AoBl4DA;Ef3FI,sBF0UgC;AHupDpC;;AoBl4DA;Ef/FI,sBF0UgC;AH2pDpC;;AsBl/DA;EACE,cAAc;EACd,WAAW;EACX,mCJgL8D;EI/K9D,0CnBqhBkC;ECnS9B,eAvE+B;EkBxKnC,gBnB6Y+B;EmB5Y/B,gBnBkZ+B;EmBjZ/B,cnBAgB;EmBChB,sBAAsB;EACtB,sBnBTa;EmBUb,iPJmEgF;EIlEhF,4BAA4B;EAC5B,yCnB0sBqE;EmBzsBrE,0BnB0sB2C;EmBzsB3C,yBnBVgB;EEOd,sBF0UgC;EmBpUlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AtBm/DlB;;AsBtgEA;EAsBI,qBnB6mBsE;EmB5mBtE,UAAU;EAKR,kDnBAW;AHg/DjB;;AsB5gEA;EAqCM,cnB5BY;EmB6BZ,sBnBpCS;AH+gEf;;AsBjhEA;EA4CI,YAAY;EACZ,sBnB4egC;EmB3ehC,sBAAsB;AtBy+D1B;;AsBvhEA;EAkDI,cnB1Cc;EmB2Cd,yBnB/Cc;AHwhElB;;AsB5hEA;EAyDI,kBAAkB;EAClB,0BnBjDc;AHwhElB;;AsBn+DA;EACE,kCJoH8D;EInH9D,oBnBmekC;EmBlelC,uBnBkekC;EmBjelC,oBnBkeiC;EC9S7B,mBAvE+B;AJ03DrC;;AsBn+DA;EACE,gCJ4G8D;EI3G9D,mBnB+diC;EmB9djC,sBnB8diC;EmB7djC,kBnB8dgC;EClT5B,kBAvE+B;AJk4DrC;;AuBljEA;EACE,cAAc;EACd,kBpBwpB2E;EoBvpB3E,mBpBwpBsE;EoBvpBtE,uBpBwpB+C;AH65CjD;;AuBzjEA;EAOI,WAAW;EACX,mBAA0C;AvBsjE9C;;AuBljEA;EACE,UpB4oB2C;EoB3oB3C,WpB2oB2C;EoB1oB3C,kBAA6D;EAC7D,mBAAmB;EACnB,sBpBda;EoBeb,4BAA4B;EAC5B,2BAA2B;EAC3B,wBAAwB;EACxB,qCpB+oBoE;EoB9oBpE,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;EAChB,iCAAmB;EAAnB,mBAAmB;EFXf,mJlBmpBuK;AH86C7K;;AqB7jEM;EEJN;IFKQ,gBAAgB;ErBikEtB;AACF;;AuBvkEA;ElBEI,qBFupB2C;AHk7C/C;;AuB3kEA;EAoBI,kBpBsoByC;AHq7C7C;;AuB/kEA;EAwBI,uBpB6nBqD;AH87CzD;;AuBnlEA;EA4BI,qBpB4lBsE;EoB3lBtE,UAAU;EACV,kDpBba;AHwkEjB;;AuBzlEA;EAkCI,yBpBjBa;EoBkBb,qBpBlBa;AH6kEjB;;AuB9lEA;EAyCQ,+OL2B0E;AlB8hElF;;AuBlmEA;EAiDQ,uJLmB0E;AlBkiElF;;AuBtmEA;EAuDI,yBpBtCa;EoBuCb,qBpBvCa;EoB4CX,yOLO4E;AlBwiElF;;AuB5mEA;EAkEI,oBAAoB;EACpB,YAAY;EACZ,WAAW;AvB8iEf;;AuBlnEA;EA4EM,WAAW;AvB0iEjB;;AuB5hEA;EACE,mBpBglByD;AH+8C3D;;AuBhiEA;EAII,UpB4kBiC;EoB3kBjC,mBAA2C;EAC3C,wKL5B8E;EK6B9E,gCAAgC;ElB/FhC,kBFwqBiC;AHw9CrC;;AuBxiEA;EAWM,0JLjC4E;AlBkkElF;;AuB5iEA;EAeM,iCpB2kBwC;EoBtkBtC,uJL1C0E;AlBukElF;;AuBvhEA;EACE,qBAAqB;EACrB,kBpBgkB0C;AH09C5C;;AuBvhEA;EACE,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;AvB0hEtB;;AwBtqEA;EACE,kDAAsB;EACtB,kBAAkB;AxByqEpB;;AwBtqEA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,kCAAkC;EAClC,SAAS;EACT,UAAU;AxByqEZ;;AwB/qEA;EASI,qBrB0nBsE;EqBznBtE,kDrBkBa;AHwpEjB;;AwBprEA;;EAiBI,yBrBbc;AHqrElB;;AwBnqEA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,aAAa;EACb,kCAAkC;EAClC,qBrBxBgB;EEOd,sBF0UgC;AH82DpC;;AwBlqEA;EACE,cAAc;EACd,YAAY;EACZ,yBrBmfkC;EqBlflC,gBAAgB;EAEhB,gBrB2W+B;EqB1W/B,gBrBgX+B;EqB/W/B,crBlCgB;EqBmChB,uBAAuB;EACvB,mBAAmB;EACnB,sBrB5Ca;EqB6Cb,qBAAqB;EACrB,mBAAmB;EACnB,iBrBmS+B;EEzS7B,+BmBOiC;EnBNjC,kCmBMiC;AxBqqErC;;AwBlqEA;EACE,cAAc;EACd,cAAc;EACd,yBrBiekC;EqBhelC,iBrB2R+B;EqB1R/B,gBrBgW+B;EqB/V/B,crBlDgB;EsBXhB,yBtBMgB;EqByDhB,qBAAqB;EACrB,mBAAmB;EACnB,iBrBqR+B;EEvT7B,gCmBmCkC;EnBlClC,mCmBkCkC;AxBsqEtC;;AwBnqEA;EACE,iDAAsB;EpBkLlB,mBAvE+B;AJ4jErC;;AwBxqEA;;EAMI,uBrB2d+B;AH4sDnC;;AwBnqEA;EACE,+CAAsB;EpBwKlB,kBAvE+B;AJskErC;;AwBxqEA;;EAMI,oBrBqd8B;AHktDlC;;A0BzvEA;EACE,WAAW;EACX,cR6K2B;EQ5K3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A1B4vElB;;A0BjwEA;EAQI,aAAa;A1B6vEjB;;A0BrwEA;EAY8B,kEvBeb;AH8uEjB;;A0BzwEA;EAa8B,kEvBcb;AHkvEjB;;A0B7wEA;EAc8B,kEvBab;AHsvEjB;;A0BjxEA;EAkBI,SAAS;A1BmwEb;;A0BrxEA;EAsBI,WvBouB2C;EuBnuB3C,YvBmuB2C;EuBluB3C,oBAAqE;ED3BvE,yBtB8Be;EuBDb,SvBmuBwC;EEjvBxC,mBFkvB2C;EkBpvBzC,oHlB0vBkI;EkB1vBlI,4GlB0vBkI;EuBtuBpI,wBAAgB;EAAhB,gBAAgB;A1BkwEpB;;AqBlxEM;EKdN;ILeQ,wBAAgB;IAAhB,gBAAgB;ErBsxEtB;AACF;;A0BtyEA;EDHE,yBtBqwB2E;AHwiD7E;;A0B1yEA;EAsCI,WvB6sBkC;EuB5sBlC,cvB6sBmC;EuB5sBnC,kBAAkB;EAClB,evB4sBqC;EuB3sBrC,yBvBtCc;EuBuCd,yBAAyB;ErB/BzB,mBF2uBkC;AH6jDtC;;A0BpzEA;EAiDI,WvBysB2C;EuBxsB3C,YvBwsB2C;EsB7vB7C,yBtB8Be;EuByBb,SvBysBwC;EEjvBxC,mBFkvB2C;EkBpvBzC,iHlB0vBkI;EkB1vBlI,4GlB0vBkI;EuB5sBpI,qBAAgB;EAAhB,gBAAgB;A1BswEpB;;AqBhzEM;EKdN;ILeQ,qBAAgB;IAAhB,gBAAgB;ErBozEtB;AACF;;A0Bp0EA;EDHE,yBtBqwB2E;AHskD7E;;A0Bx0EA;EAgEI,WvBmrBkC;EuBlrBlC,cvBmrBmC;EuBlrBnC,kBAAkB;EAClB,evBkrBqC;EuBjrBrC,yBvBhEc;EuBiEd,yBAAyB;ErBzDzB,mBF2uBkC;AH2lDtC;;A0Bl1EA;EA2EI,WvB+qB2C;EuB9qB3C,YvB8qB2C;EuB7qB3C,aAAa;EACb,qBvB+ckC;EuB9clC,oBvB8ckC;EsBhiBpC,yBtB8Be;EuBsDb,SvB4qBwC;EEjvBxC,mBFkvB2C;EkBpvBzC,gHlB0vBkI;EkB1vBlI,4GlB0vBkI;EuB/qBpI,gBAAgB;A1B0wEpB;;AqBj1EM;EKdN;ILeQ,oBAAgB;IAAhB,gBAAgB;ErBq1EtB;AACF;;A0Br2EA;EDHE,yBtBqwB2E;AHumD7E;;A0Bz2EA;EA6FI,WvBspBkC;EuBrpBlC,cvBspBmC;EuBrpBnC,kBAAkB;EAClB,evBqpBqC;EuBppBrC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA0C;A1BgxE9C;;A0Bn3EA;EAwGI,yBvBpGc;EEQd,mBF2uBkC;AHioDtC;;A0Bx3EA;EA6GI,kBAAkB;EAClB,yBvB1Gc;EEQd,mBF2uBkC;AHuoDtC;;A0B93EA;EAmHI,oBAAoB;A1B+wExB;;A0Bl4EA;EAsHM,yBvBhHY;AHg4ElB;;A0Bt4EA;EA0HM,yBvBpHY;AHo4ElB;;A0B14EA;EA8HM,yBvBxHY;AHw4ElB;;A2Bh5EA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,WAAW;A3Bm5Eb;;A2Bx5EA;;;EAUI,kBAAkB;EAClB,cAAc;EACd,SAAS;EACT,YAAY;A3Bo5EhB;;A2Bj6EA;;;EAoBI,UAAU;A3Bm5Ed;;A2Bv6EA;EA0BM,UAAU;A3Bi5EhB;;A2B36EA;EtB8BI,0BsBAgC;EtBChC,6BsBDgC;A3Bk5EpC;;A2Bh7EA;EtB4CI,yBsBV+B;EtBW/B,4BsBX+B;A3Bm5EnC;;A2Br7EA;EA0CI,kBAAkB;EAClB,UAAU;A3B+4Ed;;A2B17EA;EA8CM,UAAU;A3Bg5EhB;;A2Br4EA;EACE,aAAa;EACb,mBAAmB;EACnB,yBxB8dkC;ECnS9B,eAvE+B;EuBlHnC,gBxBuV+B;EwBtV/B,gBxB4V+B;EwB3V/B,cxBtDgB;EwBuDhB,kBAAkB;EAClB,mBAAmB;EACnB,yBxB9DgB;EwB+DhB,yBxB7DgB;EEOd,sBF0UgC;AHqnEpC;;A2B/3EA;EACE,oCTqG8D;AlB6xEhE;;A2B/3EA;EACE,gCTiG8D;AlBiyEhE;;A2B/3EA;;;;EAIE,oBxB+cgC;EClT5B,kBAvE+B;EClKjC,qBF4U+B;AHooEnC;;A2B/3EA;EACE,sCToF8D;AlB8yEhE;;A2B/3EA;EACE,kCTgF8D;AlBkzEhE;;A2B/3EA;;;;EAIE,uBxB0biC;EC9S7B,mBAvE+B;EClKjC,qBF2U+B;AHspEnC;;A2B/3EA;;EAEE,sBAAsE;A3Bk4ExE;;A2Bv3EA;;EtB/FI,0BsBkG8B;EtBjG9B,6BsBiG8B;A3B03ElC;;A2B73EA;EAOI,iBxBiN6B;EEzS7B,yBsByF6B;EtBxF7B,4BsBwF6B;A3B23EjC;;A4Bp/EE;EACE,aAAa;EACb,WAAW;EACX,mBzB4kB0C;ECpWxC,kBAvE+B;EwB9JjC,czBkBa;AHo+EjB;;A4Bn/EE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBzBy+B2C;EyBx+B3C,iBAAiB;ExB2Nf,mBAvE+B;EwBjJjC,WzB5BW;EyB6BX,wCzBIa;EEtBb,sBF0UgC;AH8rEpC;;A4BthFI;;;;EAuCE,cAAc;A5Bs/EpB;;A4B7hFI;EA6CE,qBzBTW;EyBYT,oCVoIwD;EUnIxD,4PV+B0E;EU9B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEVgIwD;AlBk3EhE;;A4BtiFI;EAwDI,qBzBpBS;EyBqBT,iDzBrBS;AHugFjB;;A4B3iFI;EAkEI,oCVkHwD;EUjHxD,kFViHwD;AlB43EhE;;A4BhjFI;EA0EE,qBzBtCW;EyByCT,uCVuGwD;EUtGxD,6dVE0E;EUD1E,+DzBgpBwG;EyB/oBxG,2EVoGwD;AlBo4EhE;;A4BxjFI;EAoFI,qBzBhDS;EyBiDT,iDzBjDS;AHyhFjB;;A4B7jFI;EA4FE,qBzBxDW;AH6hFjB;;A4BjkFI;EA+FI,yBzB3DS;AHiiFjB;;A4BrkFI;EAmGI,iDzB/DS;AHqiFjB;;A4BzkFI;EAuGI,czBnES;AHyiFjB;;A4Bl+EE;EAEI,iBAAiB;A5Bo+EvB;;A4BjlFI;EAqHI,qBzBjFS;AHijFjB;;A4BrlFI;EA0HM,qBzBtFO;EyBuFP,iDzBvFO;AHsjFjB;;A4B9kFE;EACE,aAAa;EACb,WAAW;EACX,mBzB4kB0C;ECpWxC,kBAvE+B;EwB9JjC,czBea;AHikFjB;;A4B7kFE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBzBy+B2C;EyBx+B3C,iBAAiB;ExB2Nf,mBAvE+B;EwBjJjC,WzB5BW;EyB6BX,wCzBCa;EEnBb,sBF0UgC;AHwxEpC;;A4BhnFI;;;;EAuCE,cAAc;A5BglFpB;;A4BvnFI;EA6CE,qBzBZW;EyBeT,oCVoIwD;EUnIxD,4UV+B0E;EU9B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEVgIwD;AlB48EhE;;A4BhoFI;EAwDI,qBzBvBS;EyBwBT,iDzBxBS;AHomFjB;;A4BroFI;EAkEI,oCVkHwD;EUjHxD,kFViHwD;AlBs9EhE;;A4B1oFI;EA0EE,qBzBzCW;EyB4CT,uCVuGwD;EUtGxD,6iBVE0E;EUD1E,+DzBgpBwG;EyB/oBxG,2EVoGwD;AlB89EhE;;A4BlpFI;EAoFI,qBzBnDS;EyBoDT,iDzBpDS;AHsnFjB;;A4BvpFI;EA4FE,qBzB3DW;AH0nFjB;;A4B3pFI;EA+FI,yBzB9DS;AH8nFjB;;A4B/pFI;EAmGI,iDzBlES;AHkoFjB;;A4BnqFI;EAuGI,czBtES;AHsoFjB;;A4B5jFE;EAEI,iBAAiB;A5B8jFvB;;A4B3qFI;EAqHI,qBzBpFS;AH8oFjB;;A4B/qFI;EA0HM,qBzBzFO;EyB0FP,iDzB1FO;AHmpFjB;;A6BprFA;EACE,qBAAqB;EAErB,gB1BkZ+B;E0BjZ/B,gB1BuZ+B;E0BtZ/B,c1BOgB;E0BNhB,kBAAkB;EAClB,qBAAwD;EAExD,sBAAsB;EACtB,eAA2C;EAC3C,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;EC0G3C,yB3BmakC;ECnS9B,eAvE+B;EClKjC,sBF0UgC;EkB5U9B,qIlB0kB6I;AHgnEnJ;;AqBtrFM;EQhBN;IRiBQ,gBAAgB;ErB0rFtB;AACF;;A6B5sFA;EAkBI,c1BNc;AHosFlB;;A6B1rFE;EAEE,UAAU;EACV,kD1BIa;AHwrFjB;;A6BrtFA;;EA0CI,oBAAoB;EACpB,a1B6hB6B;AHmpEjC;;A6BrqFE;ECvCA,W3BZa;EsBJb,yBtB8Be;E2BZf,qB3BYe;AHosFjB;;A8B7sFE;EACE,W3BlBW;EsBJb,yBKMgF;EAkB9E,qBAjBqE;A9BiuFzE;;A8B7sFE;EAEE,W3BzBW;EsBJb,yBKMgF;EAyB9E,qBAxBqE;EA6BnE,iDAAiE;A9B2sFvE;;A8BvsFE;;;EAKE,W3BzCW;E2B0CX,yBArC8E;EAwC9E,qBAvCwE;A9B6uF5E;;A8B/sFE;;;EAgBM,iDAAiE;A9BqsFzE;;A8BhsFE;EAEE,W3B3DW;E2B4DX,yB3BlCa;E2BqCb,qB3BrCa;AHquFjB;;A6B5sFE;ECvCA,W3BZa;EsBJb,yBtBUgB;E2BQhB,qB3BRgB;AH+vFlB;;A8BpvFE;EACE,W3BlBW;EsBJb,yBKMgF;EAkB9E,qBAjBqE;A9BwwFzE;;A8BpvFE;EAEE,W3BzBW;EsBJb,yBKMgF;EAyB9E,qBAxBqE;EA6BnE,kDAAiE;A9BkvFvE;;A8B9uFE;;;EAKE,W3BzCW;E2B0CX,yBArC8E;EAwC9E,qBAvCwE;A9BoxF5E;;A8BtvFE;;;EAgBM,kDAAiE;A9B4uFzE;;A8BvuFE;EAEE,W3B3DW;E2B4DX,yB3BtDc;E2ByDd,qB3BzDc;AHgyFlB;;A6BnvFE;ECvCA,W3BZa;EsBJb,yBtBqCe;E2BnBf,qB3BmBe;AH2wFjB;;A8B3xFE;EACE,W3BlBW;EsBJb,yBKMgF;EAkB9E,qBAjBqE;A9B+yFzE;;A8B3xFE;EAEE,W3BzBW;EsBJb,yBKMgF;EAyB9E,qBAxBqE;EA6BnE,iDAAiE;A9ByxFvE;;A8BrxFE;;;EAKE,W3BzCW;E2B0CX,yBArC8E;EAwC9E,qBAvCwE;A9B2zF5E;;A8B7xFE;;;EAgBM,iDAAiE;A9BmxFzE;;A8B9wFE;EAEE,W3B3DW;E2B4DX,yB3B3Ba;E2B8Bb,qB3B9Ba;AH4yFjB;;A6B1xFE;ECvCA,W3BFa;EsBdb,yBtBuCe;E2BrBf,qB3BqBe;AHgzFjB;;A8Bl0FE;EACE,W3BRW;EsBdb,yBKM4G;EAkB1G,qBAjB2F;A9Bs1F/F;;A8Bl0FE;EAEE,W3BfW;EsBdb,yBKM4G;EAyB1G,qBAxB2F;EA6BzF,iDAAiE;A9Bg0FvE;;A8B5zFE;;;EAKE,W3B/BW;E2BgCX,yBArCyG;EAwCzG,qBAvC8F;A9Bk2FlG;;A8Bp0FE;;;EAgBM,iDAAiE;A9B0zFzE;;A8BrzFE;EAEE,W3BjDW;E2BkDX,yB3BzBa;E2B4Bb,qB3B5Ba;AHi1FjB;;A6Bj0FE;ECvCA,W3BFa;EsBdb,yBtBoCe;E2BlBf,qB3BkBe;AH01FjB;;A8Bz2FE;EACE,W3BRW;EsBdb,yBKM4G;EAkB1G,qBAjB2F;A9B63F/F;;A8Bz2FE;EAEE,W3BfW;EsBdb,yBKM4G;EAyB1G,qBAxB2F;EA6BzF,gDAAiE;A9Bu2FvE;;A8Bn2FE;;;EAKE,W3B/BW;E2BgCX,yBArCyG;EAwCzG,qBAvC8F;A9By4FlG;;A8B32FE;;;EAgBM,gDAAiE;A9Bi2FzE;;A8B51FE;EAEE,W3BjDW;E2BkDX,yB3B5Ba;E2B+Bb,qB3B/Ba;AH23FjB;;A6Bx2FE;ECvCA,W3BZa;EsBJb,yBtBkCe;E2BhBf,qB3BgBe;AHm4FjB;;A8Bh5FE;EACE,W3BlBW;EsBJb,yBKMgF;EAkB9E,qBAjBqE;A9Bo6FzE;;A8Bh5FE;EAEE,W3BzBW;EsBJb,yBKMgF;EAyB9E,qBAxBqE;EA6BnE,gDAAiE;A9B84FvE;;A8B14FE;;;EAKE,W3BzCW;E2B0CX,yBArC8E;EAwC9E,qBAvCwE;A9Bg7F5E;;A8Bl5FE;;;EAgBM,gDAAiE;A9Bw4FzE;;A8Bn4FE;EAEE,W3B3DW;E2B4DX,yB3B9Ba;E2BiCb,qB3BjCa;AHo6FjB;;A6B/4FE;ECvCA,W3BFa;EsBdb,yBtBKgB;E2BahB,qB3BbgB;AHu8FlB;;A8Bv7FE;EACE,W3BRW;EsBdb,uBKM4G;EAkB1G,mBAjB2F;A9B28F/F;;A8Bv7FE;EAEE,W3BfW;EsBdb,uBKM4G;EAyB1G,mBAxB2F;EA6BzF,kDAAiE;A9Bq7FvE;;A8Bj7FE;;;EAKE,W3B/BW;E2BgCX,uBArCyG;EAwCzG,mBAvC8F;A9Bu9FlG;;A8Bz7FE;;;EAgBM,kDAAiE;A9B+6FzE;;A8B16FE;EAEE,W3BjDW;E2BkDX,yB3B3Dc;E2B8Dd,qB3B9Dc;AHw+FlB;;A6Bt7FE;ECvCA,W3BZa;EsBJb,yBtBYgB;E2BMhB,qB3BNgB;AHu+FlB;;A8B99FE;EACE,W3BlBW;EsBJb,yBKMgF;EAkB9E,qBAjBqE;A9Bk/FzE;;A8B99FE;EAEE,W3BzBW;EsBJb,yBKMgF;EAyB9E,qBAxBqE;EA6BnE,+CAAiE;A9B49FvE;;A8Bx9FE;;;EAKE,W3BzCW;E2B0CX,yBArC8E;EAwC9E,qBAvCwE;A9B8/F5E;;A8Bh+FE;;;EAgBM,+CAAiE;A9Bs9FzE;;A8Bj9FE;EAEE,W3B3DW;E2B4DX,yB3BpDc;E2BuDd,qB3BvDc;AHwgGlB;;A6Bv9FE;ECiBA,c3BhDe;E2BiDf,qB3BjDe;AH2/FjB;;A8Bx8FE;EACE,W3B9EW;E2B+EX,yB3BrDa;E2BsDb,qB3BtDa;AHigGjB;;A8Bx8FE;EAEE,iD3B3Da;AHqgGjB;;A8Bv8FE;;EAKE,W3B7FW;E2B8FX,yB3BpEa;E2BqEb,qB3BrEa;AH4gGjB;;A8B98FE;;EAcM,iD3B5ES;AHihGjB;;A8Bh8FE;EAEE,c3BnFa;E2BoFb,6BAA6B;A9Bk8FjC;;A6Bv/FE;ECiBA,c3BpEgB;E2BqEhB,qB3BrEgB;AH+iGlB;;A8Bx+FE;EACE,W3B9EW;E2B+EX,yB3BzEc;E2B0Ed,qB3B1Ec;AHqjGlB;;A8Bx+FE;EAEE,kD3B/Ec;AHyjGlB;;A8Bv+FE;;EAKE,W3B7FW;E2B8FX,yB3BxFc;E2ByFd,qB3BzFc;AHgkGlB;;A8B9+FE;;EAcM,kD3BhGU;AHqkGlB;;A8Bh+FE;EAEE,c3BvGc;E2BwGd,6BAA6B;A9Bk+FjC;;A6BvhGE;ECiBA,c3BzCe;E2B0Cf,qB3B1Ce;AHojGjB;;A8BxgGE;EACE,W3B9EW;E2B+EX,yB3B9Ca;E2B+Cb,qB3B/Ca;AH0jGjB;;A8BxgGE;EAEE,gD3BpDa;AH8jGjB;;A8BvgGE;;EAKE,W3B7FW;E2B8FX,yB3B7Da;E2B8Db,qB3B9Da;AHqkGjB;;A8B9gGE;;EAcM,gD3BrES;AH0kGjB;;A8BhgGE;EAEE,c3B5Ea;E2B6Eb,6BAA6B;A9BkgGjC;;A6BvjGE;ECiBA,c3BvCe;E2BwCf,qB3BxCe;AHklGjB;;A8BxiGE;EACE,W3BpEW;E2BqEX,yB3B5Ca;E2B6Cb,qB3B7Ca;AHwlGjB;;A8BxiGE;EAEE,iD3BlDa;AH4lGjB;;A8BviGE;;EAKE,W3BnFW;E2BoFX,yB3B3Da;E2B4Db,qB3B5Da;AHmmGjB;;A8B9iGE;;EAcM,iD3BnES;AHwmGjB;;A8BhiGE;EAEE,c3B1Ea;E2B2Eb,6BAA6B;A9BkiGjC;;A6BvlGE;ECiBA,c3B1Ce;E2B2Cf,qB3B3Ce;AHqnGjB;;A8BxkGE;EACE,W3BpEW;E2BqEX,yB3B/Ca;E2BgDb,qB3BhDa;AH2nGjB;;A8BxkGE;EAEE,gD3BrDa;AH+nGjB;;A8BvkGE;;EAKE,W3BnFW;E2BoFX,yB3B9Da;E2B+Db,qB3B/Da;AHsoGjB;;A8B9kGE;;EAcM,gD3BtES;AH2oGjB;;A8BhkGE;EAEE,c3B7Ea;E2B8Eb,6BAA6B;A9BkkGjC;;A6BvnGE;ECiBA,c3B5Ce;E2B6Cf,qB3B7Ce;AHupGjB;;A8BxmGE;EACE,W3B9EW;E2B+EX,yB3BjDa;E2BkDb,qB3BlDa;AH6pGjB;;A8BxmGE;EAEE,gD3BvDa;AHiqGjB;;A8BvmGE;;EAKE,W3B7FW;E2B8FX,yB3BhEa;E2BiEb,qB3BjEa;AHwqGjB;;A8B9mGE;;EAcM,gD3BxES;AH6qGjB;;A8BhmGE;EAEE,c3B/Ea;E2BgFb,6BAA6B;A9BkmGjC;;A6BvpGE;ECiBA,c3BzEgB;E2B0EhB,qB3B1EgB;AHotGlB;;A8BxoGE;EACE,W3BpEW;E2BqEX,yB3B9Ec;E2B+Ed,qB3B/Ec;AH0tGlB;;A8BxoGE;EAEE,kD3BpFc;AH8tGlB;;A8BvoGE;;EAKE,W3BnFW;E2BoFX,yB3B7Fc;E2B8Fd,qB3B9Fc;AHquGlB;;A8B9oGE;;EAcM,kD3BrGU;AH0uGlB;;A8BhoGE;EAEE,c3B5Gc;E2B6Gd,6BAA6B;A9BkoGjC;;A6BvrGE;ECiBA,c3BlEgB;E2BmEhB,qB3BnEgB;AH6uGlB;;A8BxqGE;EACE,W3B9EW;E2B+EX,yB3BvEc;E2BwEd,qB3BxEc;AHmvGlB;;A8BxqGE;EAEE,+C3B7Ec;AHuvGlB;;A8BvqGE;;EAKE,W3B7FW;E2B8FX,yB3BtFc;E2BuFd,qB3BvFc;AH8vGlB;;A8B9qGE;;EAcM,+C3B9FU;AHmwGlB;;A8BhqGE;EAEE,c3BrGc;E2BsGd,6BAA6B;A9BkqGjC;;A6B5sGA;EACE,gB1B6U+B;E0B5U/B,c1B5Ce;E0B6Cf,0B1BmMiD;AH4gGnD;;A6BltGA;EAMI,c1BiM8D;AH+gGlE;;A6BttGA;EAgBI,c1B9Ec;AHwxGlB;;A6B/rGA;ECqBE,oB3BkbgC;EClT5B,kBAvE+B;EClKjC,qBF4U+B;AH68FnC;;A6BjsGA;ECiBE,uB3B8aiC;EC9S7B,mBAvE+B;EClKjC,qBF2U+B;AHo9FnC;;A6B9rGA;EACE,cAAc;EACd,WAAW;A7BisGb;;A6BnsGA;EAMI,kB1B0d+B;AHuuFnC;;A+B1zGA;EVgBM,gClBuW2C;AHu8FjD;;AqB1yGM;EUpBN;IVqBQ,gBAAgB;ErB8yGtB;AACF;;A+Bp0GA;EAII,UAAU;A/Bo0Gd;;A+Bh0GA;EAEI,aAAa;A/Bk0GjB;;A+B9zGA;EACE,SAAS;EACT,gBAAgB;EVAZ,6BlBwWwC;AH09F9C;;AqB9zGM;EUNN;IVOQ,gBAAgB;ErBk0GtB;AACF;;AgCv1GA;;;;EAIE,kBAAkB;AhC01GpB;;A2B7tGqB;EKzHnB,mBAAmB;AhC01GrB;;AiCt0GI;EACE,qBAAqB;EACrB,oB9BqV0C;E8BpV1C,uB9BmV0C;E8BlV1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;AjC02G7C;;AiCrzGI;EACE,cAAc;AjCwzGpB;;A2BhvG2C;EKjHzC,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,a7BuzBsC;E6BtzBtC,aAAa;EACb,gB7Bo4BuC;E6Bn4BvC,iB7Bo4BmC;E6Bn4BnC,oBAA4B;E5BmOxB,eAvE+B;E4B1JnC,c7BVgB;E6BWhB,gBAAgB;EAChB,gBAAgB;EAChB,sB7BtBa;E6BuBb,4BAA4B;EAC5B,qC7Bda;EECX,sBF0UgC;AHyiGpC;;AgC51GI;EACE,WAAW;EACX,OAAO;AhC+1Gb;;AgC51GI;EACE,QAAQ;EACR,UAAU;AhC+1GhB;;AYh1GI;EoBtBA;IACE,WAAW;IACX,OAAO;EhC02GX;EgCv2GE;IACE,QAAQ;IACR,UAAU;EhCy2Gd;AACF;;AY31GI;EoBtBA;IACE,WAAW;IACX,OAAO;EhCq3GX;EgCl3GE;IACE,QAAQ;IACR,UAAU;EhCo3Gd;AACF;;AYt2GI;EoBtBA;IACE,WAAW;IACX,OAAO;EhCg4GX;EgC73GE;IACE,QAAQ;IACR,UAAU;EhC+3Gd;AACF;;AYj3GI;EoBtBA;IACE,WAAW;IACX,OAAO;EhC24GX;EgCx4GE;IACE,QAAQ;IACR,UAAU;EhC04Gd;AACF;;AY53GI;EoBtBA;IACE,WAAW;IACX,OAAO;EhCs5GX;EgCn5GE;IACE,QAAQ;IACR,UAAU;EhCq5Gd;AACF;;AgC94GA;EAEI,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uB7Bg2BuC;AHgjF3C;;AiCh7GI;EACE,qBAAqB;EACrB,oB9BqV0C;E8BpV1C,uB9BmV0C;E8BlV1C,WAAW;EAzBf,aAAa;EACb,qCAA4C;EAC5C,0BAAiC;EACjC,oCAA2C;AjC68G7C;;AiC/5GI;EACE,cAAc;AjCk6GpB;;AgCv5GA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,qB7Bk1BuC;AHukF3C;;AiCv8GI;EACE,qBAAqB;EACrB,oB9BqV0C;E8BpV1C,uB9BmV0C;E8BlV1C,WAAW;EAlBf,mCAA0C;EAC1C,eAAe;EACf,sCAA6C;EAC7C,wBAA+B;AjC69GjC;;AiCt7GI;EACE,cAAc;AjCy7GpB;;AiCt9GI;EDoDE,iBAAiB;AhCs6GvB;;AgCj6GA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,sB7Bi0BuC;AHkmF3C;;AiCl+GI;EACE,qBAAqB;EACrB,oB9BqV0C;E8BpV1C,uB9BmV0C;E8BlV1C,WAAW;AjCq+GjB;;AiCz+GI;EAgBI,aAAa;AjC69GrB;;AiC19GM;EACE,qBAAqB;EACrB,qB9BkUwC;E8BjUxC,uB9BgUwC;E8B/TxC,WAAW;EA9BjB,mCAA0C;EAC1C,yBAAgC;EAChC,sCAA6C;AjC4/G/C;;AiC39GI;EACE,cAAc;AjC89GpB;;AiCx+GM;EDkDA,iBAAiB;AhC07GvB;;AgCn7GA;EAKI,WAAW;EACX,YAAY;AhCk7GhB;;AgC76GA;EACE,SAAS;EACT,gBAAoC;EACpC,gBAAgB;EAChB,yC7BvGa;AHuhHf;;AgC16GA;EACE,cAAc;EACd,WAAW;EACX,qB7B2GW;E6B1GX,WAAW;EACX,gB7BsR+B;E6BrR/B,c7BpHgB;E6BqHhB,mBAAmB;EACnB,qBAAwD;EACxD,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;AhC66GX;;AgCx7GA;EA2BI,c7BixBqD;EsBv6BvD,yBtBKgB;AHmjHlB;;AgC77GA;EAkCI,W7BzJW;E6B0JX,qBAAqB;EP9JvB,yBtB8Be;AHgiHjB;;AgCn8GA;EAyCI,c7B1Jc;E6B2Jd,oBAAoB;EACpB,6BAA6B;AhC85GjC;;AgCx5GA;EACE,cAAc;AhC25GhB;;AgCv5GA;EACE,cAAc;EACd,oB7BsDW;E6BrDX,gBAAgB;E5BoEZ,mBAvE+B;E4BKnC,c7B5KgB;E6B6KhB,mBAAmB;AhC05GrB;;AgCt5GA;EACE,cAAc;EACd,qB7B4CW;E6B3CX,c7BjLgB;AH0kHlB;;AgCr5GA;EACE,c7B5LgB;E6B6LhB,yB7BxLgB;E6ByLhB,iC7BvLa;AH+kHf;;AgC35GA;EAOI,c7BlMc;AH0lHlB;;AgC/5GA;EAWM,W7BzMS;EsBJb,2CtBIa;AHkmHf;;AgCp6GA;EAiBM,W7B/MS;EsBJb,yBtB8Be;AH6kHjB;;AgCz6GA;EAuBM,c7BhNY;AHsmHlB;;AgC76GA;EA4BI,iC7BhNW;AHqmHf;;AgCj7GA;EAgCI,c7B3Nc;AHgnHlB;;AgCr7GA;EAoCI,c7B7Nc;AHknHlB;;AkC3nHA;;EAEE,kBAAkB;EAClB,oBAAoB;EACpB,sBAAsB;AlC8nHxB;;AkCloHA;;EAOI,kBAAkB;EAClB,cAAc;AlCgoHlB;;AkCxoHA;;;;;;;;;;;;EAmBI,UAAU;AlCooHd;;AkC/nHA;EACE,aAAa;EACb,eAAe;EACf,2BAA2B;AlCkoH7B;;AkCroHA;EAMI,WAAW;AlCmoHf;;AkC/nHA;;EAII,iB/BgT6B;AHg1GjC;;AkCpoHA;;E7BHI,0B6Ba8B;E7BZ9B,6B6BY8B;AlCgoHlC;;AkC1oHA;;;E7BWI,yB6BS6B;E7BR7B,4B6BQ6B;AlC6nHjC;;AkC7mHA;EACE,wBAAmC;EACnC,uBAAkC;AlCgnHpC;;AkClnHA;;;EAOI,cAAc;AlCinHlB;;AkC9mHE;EACE,eAAe;AlCinHnB;;AkC7mHA;EACE,uBAAsC;EACtC,sBAAqC;AlCgnHvC;;AkC7mHA;EACE,sBAAsC;EACtC,qBAAqC;AlCgnHvC;;AkC5lHA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;AlC+lHzB;;AkClmHA;;EAOI,WAAW;AlCgmHf;;AkCvmHA;;EAYI,gB/B0N6B;AHs4GjC;;AkC5mHA;;E7B1EI,6B6B4F+B;E7B3F/B,4B6B2F+B;AlCgmHnC;;AkClnHA;;E7BxFI,yB6B+G4B;E7B9G5B,0B6B8G4B;AlCimHhC;;AmCtuHA;EACE,aAAa;EACb,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AnCyuHlB;;AmCtuHA;EACE,cAAc;EACd,oBhCy0BsC;EgCr0BtC,qBAAwD;EdHpD,uGlB60BsH;AH65F5H;;AqBtuHM;EcPN;IdQQ,gBAAgB;ErB0uHtB;AACF;;AmCnvHA;EAiBI,chCjBc;EgCkBd,oBAAoB;EACpB,eAAe;AnCsuHnB;;AmC9tHA;EACE,gChC/BgB;AHgwHlB;;AmCluHA;EAII,mBhC6S6B;EgC5S7B,6BAAgD;E9BlBhD,+BFiUgC;EEhUhC,gCFgUgC;AHq7GpC;;AmCzuHA;EAUM,qChCxCY;AH2wHlB;;AmC7uHA;EAcM,chCzCY;EgC0CZ,6BAA6B;EAC7B,yBAAyB;AnCmuH/B;;AmCnvHA;;EAsBI,chChDc;EgCiDd,sBhCxDW;EgCyDX,kChCzDW;AH2xHf;;AmC1vHA;EA6BI,gBhCoR6B;EE9T7B,yB8B4C4B;E9B3C5B,0B8B2C4B;AnCiuHhC;;AmCxtHA;E9B9DI,sBF0UgC;AHg9GpC;;AmC5tHA;;EAOI,WhChFW;EsBJb,yBtB8Be;AHixHjB;;AmCjtHA;;EAGI,cAAc;EACd,kBAAkB;AnCmtHtB;;AmC/sHA;;EAGI,aAAa;EACb,YAAY;EACZ,kBAAkB;AnCitHtB;;AmCxsHA;EAEI,aAAa;AnC0sHjB;;AmC5sHA;EAKI,cAAc;AnC2sHlB;;AoCvzHA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;EAC9B,mBjCy1B6C;EiCv1B7C,sBjCu1B6C;AHk+F/C;;AoCj0HA;;EAgBI,aAAa;EACb,kBAAkB;EAClB,mBAAmB;EACnB,8BAA8B;ApCszHlC;;AoClyHA;EACE,sBjCg0B+E;EiC/zB/E,yBjC+zB+E;EiC9zB/E,kBjC+zBsC;EC9nBlC,kBAvE+B;EgCxHnC,qBAAwD;EACxD,mBAAmB;ApCqyHrB;;AoCxxHA;EACE,aAAa;EACb,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;ApC2xHlB;;AoChyHA;EAQI,gBAAgB;EAChB,eAAe;ApC4xHnB;;AoCryHA;EAaI,gBAAgB;ApC4xHpB;;AoCnxHA;EACE,mBjCsvBuC;EiCrvBvC,sBjCqvBuC;AHiiGzC;;AoC1wHA;EAGE,mBAAmB;EACnB,WAAW;ApC2wHb;;AoCvwHA;EACE,wBjCqwBwC;ECjoBpC,kBAvE+B;EgC3DnC,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;E/BzGrC,sBF0UgC;EkB5U9B,wClBg3ByD;AHugG/D;;AqBn3HM;EekGN;IfjGQ,gBAAgB;ErBu3HtB;AACF;;AoCvxHA;EAUI,qBAAqB;ApCixHzB;;AoC3xHA;EAcI,qBAAqB;EACrB,UAAU;EACV,yBjC6ZkC;AHo3GtC;;AoC3wHA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,4BAA4B;EAC5B,2BAA2B;EAC3B,qBAAqB;ApC8wHvB;;AYl2HI;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;EpCswHjC;EoCzwHG;IAMK,mBAAmB;EpCswH3B;EoC5wHG;IASO,kBAAkB;EpCswH5B;EoC/wHG;IAaO,qBjCusB6B;IiCtsB7B,oBjCssB6B;EH+jGvC;EoCnxHG;IAmBK,wBAAwB;EpCmwHhC;EoCtxHG;IAuBK,aAAa;EpCkwHrB;AACF;;AYz3HI;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;EpC6xHjC;EoChyHG;IAMK,mBAAmB;EpC6xH3B;EoCnyHG;IASO,kBAAkB;EpC6xH5B;EoCtyHG;IAaO,qBjCusB6B;IiCtsB7B,oBjCssB6B;EHslGvC;EoC1yHG;IAmBK,wBAAwB;EpC0xHhC;EoC7yHG;IAuBK,aAAa;EpCyxHrB;AACF;;AYh5HI;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;EpCozHjC;EoCvzHG;IAMK,mBAAmB;EpCozH3B;EoC1zHG;IASO,kBAAkB;EpCozH5B;EoC7zHG;IAaO,qBjCusB6B;IiCtsB7B,oBjCssB6B;EH6mGvC;EoCj0HG;IAmBK,wBAAwB;EpCizHhC;EoCp0HG;IAuBK,aAAa;EpCgzHrB;AACF;;AYv6HI;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;EpC20HjC;EoC90HG;IAMK,mBAAmB;EpC20H3B;EoCj1HG;IASO,kBAAkB;EpC20H5B;EoCp1HG;IAaO,qBjCusB6B;IiCtsB7B,oBjCssB6B;EHooGvC;EoCx1HG;IAmBK,wBAAwB;EpCw0HhC;EoC31HG;IAuBK,aAAa;EpCu0HrB;AACF;;AY97HI;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;EpCk2HjC;EoCr2HG;IAMK,mBAAmB;EpCk2H3B;EoCx2HG;IASO,kBAAkB;EpCk2H5B;EoC32HG;IAaO,qBjCusB6B;IiCtsB7B,oBjCssB6B;EH2pGvC;EoC/2HG;IAmBK,wBAAwB;EpC+1HhC;EoCl3HG;IAuBK,aAAa;EpC81HrB;AACF;;AoC53HA;EAQQ,iBAAiB;EACjB,2BAA2B;ApCw3HnC;;AoCj4HA;EAYU,mBAAmB;ApCy3H7B;;AoCr4HA;EAeY,kBAAkB;ApC03H9B;;AoCz4HA;EAmBY,qBjCusB6B;EiCtsB7B,oBjCssB6B;AHorGzC;;AoC94HA;EAyBU,wBAAwB;ApCy3HlC;;AoCl5HA;EA6BU,aAAa;ApCy3HvB;;AoC52HA;EAEI,yBjCnLW;AHiiIf;;AoCh3HA;EAMM,yBjCvLS;AHqiIf;;AoCp3HA;EAYM,0BjC7LS;AHyiIf;;AoCx3HA;EAgBQ,yBjCjMO;AH6iIf;;AoC53HA;EAoBQ,yBjCrMO;AHijIf;;AoCh4HA;;EA0BM,yBjC3MS;AHsjIf;;AoCr4HA;EA+BI,0BjChNW;EiCiNX,gCjCjNW;AH2jIf;;AoC14HA;EAoCI,6PlBlJ8E;AlB4/HlF;;AoC94HA;EAwCI,0BjCzNW;AHmkIf;;AoCl5HA;;;EA6CM,yBjC9NS;AHykIf;;AoCr2HA;EAEI,WjChPW;AHulIf;;AoCz2HA;EAMM,WjCpPS;AH2lIf;;AoC72HA;EAYM,gCjC1PS;AH+lIf;;AoCj3HA;EAgBQ,gCjC9PO;AHmmIf;;AoCr3HA;EAoBQ,gCjClQO;AHumIf;;AoCz3HA;;EA0BM,WjCxQS;AH4mIf;;AoC93HA;EA+BI,gCjC7QW;EiC8QX,sCjC9QW;AHinIf;;AoCn4HA;EAoCI,mQlBrM8E;AlBwiIlF;;AoCv4HA;EAwCI,gCjCtRW;AHynIf;;AoC34HA;;;EA4CM,WjC1RS;AH+nIf;;AqCloIA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sBlCJa;EkCKb,2BAA2B;EAC3B,sClCIa;EECX,sBF0UgC;AHszHpC;;AqC9oIA;EAaI,eAAe;EACf,cAAc;ArCqoIlB;;AqCnpIA;EAkBI,mBAAmB;EACnB,sBAAsB;ArCqoI1B;;AqCxpIA;EAsBM,mBAAmB;EhCCrB,2CaiL4D;EbhL5D,4CagL4D;AlBs9HhE;;AqC9pIA;EA2BM,sBAAsB;EhCUxB,+CamK4D;EblK5D,8CakK4D;AlB49HhE;;AqCpqIA;;EAoCI,aAAa;ArCqoIjB;;AqCjoIA;EAGE,cAAc;EACd,kBlC4LW;AHs8Hb;;AqC9nIA;EACE,qBlCw7B6C;AHysG/C;;AqC9nIA;EACE,oBAAqC;EACrC,gBAAgB;ArCioIlB;;AqC9nIA;EACE,gBAAgB;ArCioIlB;;AqC9nIA;EAEI,qBAAqB;ArCgoIzB;;AqCloIA;EAMI,iBlCqKS;AH29Hb;;AqCxnIA;EACE,oBlC4JW;EkC3JX,gBAAgB;EAEhB,qClClEa;EkCmEb,6ClCnEa;AH6rIf;;AqC/nIA;EhC7DI,0DgCqE8E;ArC2nIlF;;AqCvnIA;EACE,oBlCgJW;EkC9IX,qClC7Ea;EkC8Eb,0ClC9Ea;AHusIf;;AqC7nIA;EhCzEI,0Da0L4D;AlBghIhE;;AqCjnIA;EACE,qBAAsC;EACtC,sBlCq4BoD;EkCp4BpD,oBAAqC;EACrC,gBAAgB;ArConIlB;;AqC1mIA;EACE,qBAAsC;EACtC,oBAAqC;ArC6mIvC;;AqCzmIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,alCuGW;EE1NT,kCa0L4D;AlBsiIhE;;AqCzmIA;;;EAGE,WAAW;ArC4mIb;;AqCzmIA;;EhCpHI,2CaiL4D;EbhL5D,4CagL4D;AlBkjIhE;;AqC1mIA;;EhC3GI,+CamK4D;EblK5D,8CakK4D;AlBwjIhE;;AqCtmIA;EAII,sBlC01BsD;AH4wG1D;;AYzsII;EyB+FJ;IAQI,aAAa;IACb,mBAAmB;ErCumIrB;EqChnIF;IAcM,YAAY;IACZ,gBAAgB;ErCqmIpB;EqCpnIF;IAkBQ,cAAc;IACd,cAAc;ErCqmIpB;EqCxnIF;IhC5HI,0BgCqJoC;IhCpJpC,6BgCoJoC;ErCmmItC;EqC5nIF;;IA8BY,0BAA0B;ErCkmIpC;EqChoIF;;IAmCY,6BAA6B;ErCimIvC;EqCpoIF;IhC9GI,yBgCsJmC;IhCrJnC,4BgCqJmC;ErCgmIrC;EqCxoIF;;IA6CY,yBAAyB;ErC+lInC;EqC5oIF;;IAkDY,4BAA4B;ErC8lItC;AACF;;AqCllIA;EACE,qBAAqB;ArCqlIvB;;AqCtlIA;EAII,gBAAgB;ArCslIpB;;AqC1lIA;EAOM,gBAAgB;EhC3LlB,6BgC4LiC;EhC3LjC,4BgC2LiC;ArCwlIrC;;AqChmIA;EhClMI,yBgC8M8B;EhC7M9B,0BgC6M8B;ArCylIlC;;AqCrmIA;EhC3MI,gBgC2N0B;EACxB,mBlC2G2B;AH8+HjC;;AsCv0IA;EACE,aAAa;EACb,eAAe;EACf,oBnCyOW;EmCxOX,mBnCusCsC;EmCrsCtC,gBAAgB;EAChB,yBnCEgB;EESd,sBF0UgC;AHq/HpC;;AsCt0IA;EACE,aAAa;AtCy0If;;AsC10IA;EAKI,oBnC0rCqC;AH+oGzC;;AsC90IA;EAQM,qBAAqB;EACrB,qBnCsrCmC;EmCrrCnC,cnCRY;EmCSZ,YnCyrCuC;AHipG7C;;AsCr1IA;EAgBI,cnCdc;AHu1IlB;;AuCp2IA;EACE,aAAa;EhCGb,eAAe;EACf,gBAAgB;APq2IlB;;AuCr2IA;EACE,kBAAkB;EAClB,cAAc;EACd,cpCyBe;EoCxBf,qBAAwD;EACxD,sBpCHa;EoCIb,yBpCDgB;EkBMZ,qIlBu9BoJ;AH64G1J;;AqBh2IM;EkBfN;IlBgBQ,gBAAgB;ErBo2ItB;AACF;;AuCr3IA;EAUI,UAAU;EACV,cpCkQ8D;EoChQ9D,yBpCTc;EoCUd,qBpCTc;AHu3IlB;;AuC53IA;EAkBI,UAAU;EACV,cpC0P8D;EoCzP9D,yBpChBc;EoCiBd,UpC+7BiC;EoC97BjC,kDpCMa;AHw2IjB;;AuC12IA;EAEI,iBpCwT6B;AHojIjC;;AuC92IA;EAMI,UAAU;EACV,WpC/BW;EsBJb,yBtB8Be;EoCOb,qBpCPa;AHm3IjB;;AuCr3IA;EAaI,cpC/Bc;EoCgCd,oBAAoB;EACpB,sBpCvCW;EoCwCX,qBpCrCc;AHi5IlB;;AuCt5IA;ECDI,yBrCq8BsC;AHs9G1C;;AwCv5IE;EnCwCE,+BF4SgC;EE3ShC,kCF2SgC;AHwkIpC;;AwC55IE;EnC0BE,gCF0TgC;EEzThC,mCFyTgC;AH6kIpC;;AwCt6IE;EACE,uBrCy8BsC;ECltBpC,kBAvE+B;AJ0vIrC;;AwCn6IQ;EnCqCJ,8BF8S+B;EE7S/B,iCF6S+B;AHqlInC;;AwCl6IQ;EnCiBJ,+BF4T+B;EE3T/B,kCF2T+B;AH0lInC;;AwCr7IE;EACE,uBrCu8BqC;EChtBnC,mBAvE+B;AJywIrC;;AwCl7IQ;EnCqCJ,8BF6S+B;EE5S/B,iCF4S+B;AHqmInC;;AwCj7IQ;EnCiBJ,+BF2T+B;EE1T/B,kCF0T+B;AH0mInC;;AyCl8IA;EACE,qBAAqB;EACrB,sBtCokCuC;ECh1BnC,iBAvE+B;EqC3KnC,gBtCiZ+B;EsChZ/B,cAAc;EACd,WtCJa;EsCKb,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;EpCItB,sBF0UgC;AHwnIpC;;AyC/8IA;EAeI,aAAa;AzCo8IjB;;AyC/7IA;EACE,kBAAkB;EAClB,SAAS;AzCk8IX;;A0Cz9IA;EACE,kBAAkB;EAClB,kBvCsOW;EuCrOX,mBvCynCsC;EuCxnCtC,6BAA6C;ErCU3C,sBF0UgC;AHyoIpC;;A0Cx9IA;EAEE,cAAc;A1C09IhB;;A0Ct9IA;EACE,gBvCsY+B;AHmlIjC;;A0Cj9IA;EACE,mBvC4mCsD;AHw2GxD;;A0Cr9IA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,qBvCwMS;AH4wIb;;A0C38IE;EC5CA,czB6JgE;EO3JhE,yBP2JgE;EyB3JhE,qBzB2JgE;AlBg2IlE;;A2Cz/IE;EACE,cAA0B;A3C4/I9B;;A0Cr9IE;EC5CA,czB6JgE;EO3JhE,yBP2JgE;EyB3JhE,qBzB2JgE;AlB02IlE;;A2CngJE;EACE,cAA0B;A3CsgJ9B;;A0C/9IE;EC5CA,czB6JgE;EO3JhE,yBP2JgE;EyB3JhE,qBzB2JgE;AlBo3IlE;;A2C7gJE;EACE,cAA0B;A3CghJ9B;;A0Cz+IE;EC5CA,czB6JgE;EO3JhE,yBP2JgE;EyB3JhE,qBzB2JgE;AlB83IlE;;A2CvhJE;EACE,cAA0B;A3C0hJ9B;;A0Cn/IE;EC5CA,czB6JgE;EO3JhE,yBP2JgE;EyB3JhE,qBzB2JgE;AlBw4IlE;;A2CjiJE;EACE,cAA0B;A3CoiJ9B;;A0C7/IE;EC5CA,czB6JgE;EO3JhE,yBP2JgE;EyB3JhE,qBzB2JgE;AlBk5IlE;;A2C3iJE;EACE,cAA0B;A3C8iJ9B;;A0CvgJE;EC5CA,czB6JgE;EO3JhE,yBP2JgE;EyB3JhE,qBzB2JgE;AlB45IlE;;A2CrjJE;EACE,cAA0B;A3CwjJ9B;;A0CjhJE;EC5CA,czB6JgE;EO3JhE,yBP2JgE;EyB3JhE,qBzB2JgE;AlBs6IlE;;A2C/jJE;EACE,cAA0B;A3CkkJ9B;;A4CtkJE;EACE;IAAK,2BzC2oC+B;EH+7GtC;AACF;;A4C5kJE;EACE;IAAK,2BzC2oC+B;EH+7GtC;AACF;;A4CvkJA;EACE,aAAa;EACb,YzCqoCsC;EyCpoCtC,gBAAgB;ExCiPZ,kBAvE+B;EwCxKnC,yBzCHgB;EESd,sBF0UgC;AH2vIpC;;A4CtkJA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;EAChB,WzCfa;EyCgBb,kBAAkB;EAClB,mBAAmB;EACnB,yBzCQe;EkBjBX,2BlBsoC4C;AH68GlD;;AqB/kJM;EuBHN;IvBIQ,gBAAgB;ErBmlJtB;AACF;;A4C5kJA;EnBYE,qMAA6I;EmBV7I,0BzC+mCsC;AHg+GxC;;A4C3kJE;EACE,0DzCinCkD;EyCjnClD,kDzCinCkD;AH69GtD;;A4C3kJM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E5C+kJrB;AACF;;A6CpnJA;EACE,aAAa;EACb,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;ExCQd,sBF0UgC;AHoyIpC;;A6C5mJA;EACE,WAAW;EACX,c1CRgB;E0CShB,mBAAmB;A7C+mJrB;;A6ClnJA;EAQI,UAAU;EACV,c1Cfc;E0CgBd,qBAAqB;EACrB,yB1CvBc;AHqoJlB;;A6CznJA;EAeI,c1CnBc;E0CoBd,yB1C3Bc;AHyoJlB;;A6CrmJA;EACE,kBAAkB;EAClB,cAAc;EACd,oB1C4LW;E0C1LX,qBAAwD;EACxD,sB1C5Ca;E0C6Cb,sC1CnCa;AH0oJf;;A6C9mJA;ExClBI,+BwC4BkC;ExC3BlC,gCwC2BkC;A7CymJtC;;A6CnnJA;ExCJI,mCwCkBqC;ExCjBrC,kCwCiBqC;A7C0mJzC;;A6CxnJA;EAmBI,c1CnDc;E0CoDd,oBAAoB;EACpB,sB1C3DW;AHoqJf;;A6C9nJA;EA0BI,UAAU;EACV,W1CjEW;E0CkEX,yB1CxCa;E0CyCb,qB1CzCa;AHipJjB;;A6CroJA;EAiCI,mBAAmB;A7CwmJvB;;A6CzoJA;EAoCM,gB1CwQ2B;E0CvQ3B,qB1CuQ2B;AHk2IjC;;A6C3lJI;EACE,mBAAmB;A7C8lJzB;;A6C/lJI;ExCvBA,kCFmRgC;EE/RhC,0BwCyCwC;A7C8lJ5C;;A6CpmJI;ExCnCA,gCF+RgC;EEnRhC,4BwCkC0C;A7C8lJ9C;;A6CzmJI;EAeM,aAAa;A7C8lJvB;;A6C7mJI;EAmBM,qB1CsOuB;E0CrOvB,oBAAoB;A7C8lJ9B;;A6ClnJI;EAuBQ,iB1CkOqB;E0CjOrB,sB1CiOqB;AH83IjC;;AYxpJI;EiCiCA;IACE,mBAAmB;E7C2nJvB;E6C5nJE;IxCvBA,kCFmRgC;IE/RhC,0BwCyCwC;E7C0nJ1C;E6ChoJE;IxCnCA,gCF+RgC;IEnRhC,4BwCkC0C;E7CynJ5C;E6CpoJE;IAeM,aAAa;E7CwnJrB;E6CvoJE;IAmBM,qB1CsOuB;I0CrOvB,oBAAoB;E7CunJ5B;E6C3oJE;IAuBQ,iB1CkOqB;I0CjOrB,sB1CiOqB;EHs5I/B;AACF;;AYjrJI;EiCiCA;IACE,mBAAmB;E7CopJvB;E6CrpJE;IxCvBA,kCFmRgC;IE/RhC,0BwCyCwC;E7CmpJ1C;E6CzpJE;IxCnCA,gCF+RgC;IEnRhC,4BwCkC0C;E7CkpJ5C;E6C7pJE;IAeM,aAAa;E7CipJrB;E6ChqJE;IAmBM,qB1CsOuB;I0CrOvB,oBAAoB;E7CgpJ5B;E6CpqJE;IAuBQ,iB1CkOqB;I0CjOrB,sB1CiOqB;EH+6I/B;AACF;;AY1sJI;EiCiCA;IACE,mBAAmB;E7C6qJvB;E6C9qJE;IxCvBA,kCFmRgC;IE/RhC,0BwCyCwC;E7C4qJ1C;E6ClrJE;IxCnCA,gCF+RgC;IEnRhC,4BwCkC0C;E7C2qJ5C;E6CtrJE;IAeM,aAAa;E7C0qJrB;E6CzrJE;IAmBM,qB1CsOuB;I0CrOvB,oBAAoB;E7CyqJ5B;E6C7rJE;IAuBQ,iB1CkOqB;I0CjOrB,sB1CiOqB;EHw8I/B;AACF;;AYnuJI;EiCiCA;IACE,mBAAmB;E7CssJvB;E6CvsJE;IxCvBA,kCFmRgC;IE/RhC,0BwCyCwC;E7CqsJ1C;E6C3sJE;IxCnCA,gCF+RgC;IEnRhC,4BwCkC0C;E7CosJ5C;E6C/sJE;IAeM,aAAa;E7CmsJrB;E6CltJE;IAmBM,qB1CsOuB;I0CrOvB,oBAAoB;E7CksJ5B;E6CttJE;IAuBQ,iB1CkOqB;I0CjOrB,sB1CiOqB;EHi+I/B;AACF;;AY5vJI;EiCiCA;IACE,mBAAmB;E7C+tJvB;E6ChuJE;IxCvBA,kCFmRgC;IE/RhC,0BwCyCwC;E7C8tJ1C;E6CpuJE;IxCnCA,gCF+RgC;IEnRhC,4BwCkC0C;E7C6tJ5C;E6CxuJE;IAeM,aAAa;E7C4tJrB;E6C3uJE;IAmBM,qB1CsOuB;I0CrOvB,oBAAoB;E7C2tJ5B;E6C/uJE;IAuBQ,iB1CkOqB;I0CjOrB,sB1CiOqB;EH0/I/B;AACF;;A6C9sJA;ExCpHI,gBwCqHsB;A7CitJ1B;;A6CltJA;EAII,qB1C+M6B;AHmgJjC;;A6CttJA;EAOM,sBAAsB;A7CmtJ5B;;A8C71JE;EACE,c5B0J8D;E4BzJ9D,yB5ByJ8D;AlBusJlE;;A8Cl2JE;EAOM,c5BoJ0D;E4BnJ1D,yBAAyC;A9C+1JjD;;A8Cv2JE;EAYM,W3CRO;E2CSP,yB5B8I0D;E4B7I1D,qB5B6I0D;AlBktJlE;;A8C72JE;EACE,c5B0J8D;E4BzJ9D,yB5ByJ8D;AlButJlE;;A8Cl3JE;EAOM,c5BoJ0D;E4BnJ1D,yBAAyC;A9C+2JjD;;A8Cv3JE;EAYM,W3CRO;E2CSP,yB5B8I0D;E4B7I1D,qB5B6I0D;AlBkuJlE;;A8C73JE;EACE,c5B0J8D;E4BzJ9D,yB5ByJ8D;AlBuuJlE;;A8Cl4JE;EAOM,c5BoJ0D;E4BnJ1D,yBAAyC;A9C+3JjD;;A8Cv4JE;EAYM,W3CRO;E2CSP,yB5B8I0D;E4B7I1D,qB5B6I0D;AlBkvJlE;;A8C74JE;EACE,c5B0J8D;E4BzJ9D,yB5ByJ8D;AlBuvJlE;;A8Cl5JE;EAOM,c5BoJ0D;E4BnJ1D,yBAAyC;A9C+4JjD;;A8Cv5JE;EAYM,W3CRO;E2CSP,yB5B8I0D;E4B7I1D,qB5B6I0D;AlBkwJlE;;A8C75JE;EACE,c5B0J8D;E4BzJ9D,yB5ByJ8D;AlBuwJlE;;A8Cl6JE;EAOM,c5BoJ0D;E4BnJ1D,yBAAyC;A9C+5JjD;;A8Cv6JE;EAYM,W3CRO;E2CSP,yB5B8I0D;E4B7I1D,qB5B6I0D;AlBkxJlE;;A8C76JE;EACE,c5B0J8D;E4BzJ9D,yB5ByJ8D;AlBuxJlE;;A8Cl7JE;EAOM,c5BoJ0D;E4BnJ1D,yBAAyC;A9C+6JjD;;A8Cv7JE;EAYM,W3CRO;E2CSP,yB5B8I0D;E4B7I1D,qB5B6I0D;AlBkyJlE;;A8C77JE;EACE,c5B0J8D;E4BzJ9D,yB5ByJ8D;AlBuyJlE;;A8Cl8JE;EAOM,c5BoJ0D;E4BnJ1D,yBAAyC;A9C+7JjD;;A8Cv8JE;EAYM,W3CRO;E2CSP,yB5B8I0D;E4B7I1D,qB5B6I0D;AlBkzJlE;;A8C78JE;EACE,c5B0J8D;E4BzJ9D,yB5ByJ8D;AlBuzJlE;;A8Cl9JE;EAOM,c5BoJ0D;E4BnJ1D,yBAAyC;A9C+8JjD;;A8Cv9JE;EAYM,W3CRO;E2CSP,yB5B8I0D;E4B7I1D,qB5B6I0D;AlBk0JlE;;A+C39JA;EACE,uBAAuB;EACvB,U5C4vC8B;E4C3vC9B,W5C2vC8B;E4C1vC9B,sB5C4vCgC;E4C3vChC,W5COa;E4CNb,kXAAiG;EACjG,4BAA4B;EAC5B,SAAS;E1CKP,sBF0UgC;E4C7UlC,Y5C2vC6B;AHmuH/B;;A+Cx+JA;EAcI,W5CFW;E4CGX,qBAAqB;EACrB,a5CsvC4B;AHwuHhC;;A+C9+JA;EAoBI,aAAa;EACb,kD5COa;E4CNb,U5CivC0B;AH6uH9B;;A+Cp/JA;EA2BI,oBAAoB;EACpB,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,a5C2uC4B;AHkvHhC;;A+Cz9JA;EACE,kD5CuuCqE;AHqvHvE;;AgDngKA;EACE,gB7CojCuC;EC1zBnC,mBAvE+B;E4ChLnC,2C7CGa;E6CFb,4BAA4B;EAC5B,oC7CsjCmD;E6CrjCnD,6C7CUa;E6CTb,UAAU;E3CUR,sBF0UgC;AHkrJpC;;AgD9gKA;EAYI,sB7C0iCsC;AH49H1C;;AgDlhKA;EAgBI,UAAU;AhDsgKd;;AgDthKA;EAoBI,cAAc;EACd,UAAU;AhDsgKd;;AgD3hKA;EAyBI,aAAa;AhDsgKjB;;AgDlgKA;EACE,aAAa;EACb,mBAAmB;EACnB,uB7CshCwC;E6CrhCxC,c7CpBgB;E6CqBhB,2C7C3Ba;E6C4Bb,4BAA4B;EAC5B,4C7C8hCoD;EEviClD,2CaiL4D;EbhL5D,4CagL4D;AlB+1JhE;;AgD9gKA;EAWI,uBAAmC;EACnC,oB7C6gCsC;AH0/H1C;;AgDngKA;EACE,gB7CwgCwC;AH8/H1C;;AiD9iKA;EAEE,gBAAgB;AjDgjKlB;;AiDljKA;EAKI,kBAAkB;EAClB,gBAAgB;AjDijKpB;;AiD5iKA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C0zBsC;E8CzzBtC,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;EAGhB,UAAU;AjD6iKZ;;AiDtiKA;EACE,kBAAkB;EAClB,WAAW;EACX,c9CijCuC;E8C/iCvC,oBAAoB;AjDwiKtB;;AiDriKE;E5B3BI,mClBsmCoD;E8CzkCtD,8B9CukCmD;AHi+HvD;;AqBjkKM;E4BuBJ;I5BtBM,gBAAgB;ErBqkKtB;AACF;;AiD5iKE;EACE,e9CqkCoC;AH0+HxC;;AiD3iKE;EACE,sB9CkkC2C;AH4+H/C;;AiD1iKA;EACE,yB/BkJ8D;AlB25JhE;;AiD9iKA;EAII,gBAAgB;EAChB,gBAAgB;AjD8iKpB;;AiDnjKA;EASI,gBAAgB;AjD8iKpB;;AiD1iKA;EACE,aAAa;EACb,mBAAmB;EACnB,6B/BmI8D;AlB06JhE;;AiDziKA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,WAAW;EAGX,oBAAoB;EACpB,sB9C9Ea;E8C+Eb,4BAA4B;EAC5B,oC9CtEa;EECX,qBF4U+B;E8CnQjC,UAAU;AjDwiKZ;;AiDpiKA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C2uBsC;E8C1uBtC,YAAY;EACZ,aAAa;EACb,sB9CrFa;AH4nKf;;AiD9iKA;EAUW,UAAU;AjDwiKrB;;AiDljKA;EAWW,Y9C4/B2B;AH+iItC;;AiDtiKA;EACE,aAAa;EACb,cAAc;EACd,mBAAmB;EACnB,8BAA8B;EAC9B,kB9CwHW;E8CvHX,gC9C3GgB;EEiBd,0CaiL4D;EbhL5D,2CagL4D;AlBo9JhE;;AiDjjKA;EAUI,sBAAoE;EACpE,oCAAyG;AjD2iK7G;;AiDtiKA;EACE,gBAAgB;EAChB,gB9C8R+B;AH2wJjC;;AiDpiKA;EACE,kBAAkB;EAGlB,cAAc;EACd,a9CiGW;AHo8Jb;;AiDjiKA;EACE,aAAa;EACb,eAAe;EACf,cAAc;EACd,mBAAmB;EACnB,yBAAyB;EACzB,gBAAgE;EAChE,6B9C5IgB;EE+Bd,8CamK4D;EblK5D,6CakK4D;AlBg/JhE;;AiD7iKA;EAcI,eAAwC;AjDmiK5C;;AiD9hKA;EACE,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,gBAAgB;AjDiiKlB;;AYzoKI;EqC5BJ;IA2II,gB9Ck8BqC;I8Cj8BrC,oBAAyC;EjD+hK3C;EiDrpKF;IA0HI,2B/ByB4D;ElBqgK9D;EiD3oKF;IAiHI,+B/BqB4D;ElBwgK9D;EiDthKA;IAAY,gB9Ci7B2B;EHwmIvC;AACF;;AYzpKI;EqCmIF;;IAEE,gB9C66BqC;EH6mIvC;AACF;;AYhqKI;EqC0IF;IAAY,iB9Cy6B4B;EHknIxC;AACF;;AiDphKI;EACE,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,SAAS;AjDuhKf;;AiD3hKI;EAOI,YAAY;EACZ,SAAS;E5CvMb,gB4CwM4B;AjDwhKhC;;AiDjiKI;E5C/LA,gB4C4M4B;AjDwhKhC;;AiDriKI;EAiBI,gBAAgB;AjDwhKxB;;AiDziKI;E5C/LA,gB4CoN4B;AjDwhKhC;;AYlrKI;EqCqIA;IACE,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,SAAS;EjDijKb;EiDrjKE;IAOI,YAAY;IACZ,SAAS;I5CvMb,gB4CwM4B;EjDijK9B;EiD1jKE;I5C/LA,gB4C4M4B;EjDgjK9B;EiD7jKE;IAiBI,gBAAgB;EjD+iKtB;EiDhkKE;I5C/LA,gB4CoN4B;EjD8iK9B;AACF;;AYzsKI;EqCqIA;IACE,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,SAAS;EjDwkKb;EiD5kKE;IAOI,YAAY;IACZ,SAAS;I5CvMb,gB4CwM4B;EjDwkK9B;EiDjlKE;I5C/LA,gB4C4M4B;EjDukK9B;EiDplKE;IAiBI,gBAAgB;EjDskKtB;EiDvlKE;I5C/LA,gB4CoN4B;EjDqkK9B;AACF;;AY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CiE;AH2+IvE;;AoDt/KA;EAaM,WjDuS2B;EiDtS3B,6BAAgE;EAChE,sBjD7CS;AH0hLf;;AoDx+KA;EACE,mBjDm/BuC;AHw/IzC;;AoD5+KA;EAII,yBlC+I4D;EkC9I5D,ajD++BqC;EiD9+BrC,YjD6+BoC;EiD5+BpC,gBAAgC;ApD4+KpC;;AoDn/KA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uCjD2+BiE;AHkgJvE;;AoDz/KA;EAgBM,SjDgR2B;EiD/Q3B,oCAA2F;EAC3F,wBjDpES;AHijLf;;AoDx+KA;EACE,kBjD49BuC;AH+gJzC;;AoD5+KA;EAII,wBlCwH4D;AlBo3KhE;;AoDh/KA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wCjDu9BiE;AHshJvE;;AoDt/KA;EAaM,QjD4P2B;EiD3P3B,oCAA2F;EAC3F,yBjDxFS;AHqkLf;;AoD5/KA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WjDm8BoC;EiDl8BpC,oBAAsC;EACtC,WAAW;EACX,gCjDu7BuD;AHojJ3D;;AoDv+KA;EACE,oBjD47BuC;AH8iJzC;;AoD3+KA;EAII,0BlCwF4D;EkCvF5D,ajDw7BqC;EiDv7BrC,YjDs7BoC;EiDr7BpC,gBAAgC;ApD2+KpC;;AoDl/KA;EAUM,QAAQ;EACR,oCjDk7BmC;EiDj7BnC,sCjDo7BiE;AHwjJvE;;AoDx/KA;EAgBM,UjDyN2B;EiDxN3B,oCjD46BmC;EiD36BnC,uBjD3HS;AHumLf;;AoDt9KA;EACE,oBjDmFW;EiDlFX,gBAAgB;EhDiGZ,eAvE+B;EgDvBnC,yBjDs4ByD;EiDr4BzD,gCAAyE;E/CnIvE,0CaiL4D;EbhL5D,2CagL4D;AlB46KhE;;AoDh+KA;EAUI,aAAa;ApD09KjB;;AoDt9KA;EACE,kBjDqEW;EiDpEX,cjDxJgB;AHinLlB;;AqDpnLA;EACE,kBAAkB;ArDunLpB;;AqDpnLA;EACE,mBAAmB;ArDunLrB;;AqDpnLA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ArDunLlB;;AsD7oLE;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtDgpLf;;AqDznLA;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D,2BAA+D;AhEyoMzE;;AgE3oMM;EAEI,iBAA+D;AhE6oMzE;;AgE/oMM;EAEI,mBAA+D;AhEipMzE;;AgEnpMM;EAEI,oBAA+D;AhEqpMzE;;AgEvpMM;EAEI,oBAA+D;AhEypMzE;;AgE3pMM;EAEI,sBAA+D;AhE6pMzE;;AgE/pMM;EAEI,uBAA+D;AhEiqMzE;;AgEnqMM;EAEI,kBAA+D;AhEqqMzE;;AgEvqMM;EAEI,oBAA+D;AhEyqMzE;;AgE3qMM;EAEI,qBAA+D;AhE6qMzE;;AgE/qMM;EAEI,mBAA+D;AhEirMzE;;AgEnrMM;EAEI,qBAA+D;AhEqrMzE;;AgEvrMM;EAEI,sBAA+D;AhEyrMzE;;AgE3rMM;EAEI,uDAA+D;AhE6rMzE;;AgE/rMM;EAEI,oCAA+D;AhEisMzE;;AgEnsMM;EAEI,oBAA+D;AhEqsMzE;;AgEvsMM;EAEI,wCAA+D;AhEysMzE;;AgE3sMM;EAEI,wBAA+D;AhE6sMzE;;AgE/sMM;EAEI,0CAA+D;AhEitMzE;;AgEntMM;EAEI,0BAA+D;AhEqtMzE;;AgEvtMM;EAEI,2CAA+D;AhEytMzE;;AgE3tMM;EAEI,2BAA+D;AhE6tMzE;;AgE/tMM;EAEI,yCAA+D;AhEiuMzE;;AgEnuMM;EAEI,yBAA+D;AhEquMzE;;AgEvuMM;EAEI,gCAA+D;AhEyuMzE;;AgE3uMM;EAEI,gCAA+D;AhE6uMzE;;AgE/uMM;EAEI,gCAA+D;AhEivMzE;;AgEnvMM;EAEI,gCAA+D;AhEqvMzE;;AgEvvMM;EAEI,gCAA+D;AhEyvMzE;;AgE3vMM;EAEI,gCAA+D;AhE6vMzE;;AgE/vMM;EAEI,gCAA+D;AhEiwMzE;;AgEnwMM;EAEI,gCAA+D;AhEqwMzE;;AgEvwMM;EAEI,6BAA+D;AhEywMzE;;AgE3wMM;EAEI,0BAA+D;AhE6wMzE;;AgE/wMM;EAEI,4BAA+D;AhEixMzE;;AgEnxMM;EAEI,4BAA+D;AhEqxMzE;;AgEvxMM;EAEI,4BAA+D;AhEyxMzE;;AgE3xMM;EAEI,4BAA+D;AhE6xMzE;;AgE/xMM;EAEI,4BAA+D;AhEiyMzE;;AgEnyMM;EAEI,qBAA+D;AhEqyMzE;;AgEvyMM;EAEI,qBAA+D;AhEyyMzE;;AgE3yMM;EAEI,qBAA+D;AhE6yMzE;;AgE/yMM;EAEI,sBAA+D;AhEizMzE;;AgEnzMM;EAEI,sBAA+D;AhEqzMzE;;AgEvzMM;EAEI,0BAA+D;AhEyzMzE;;AgE3zMM;EAEI,uBAA+D;AhE6zMzE;;AgE/zMM;EAEI,2BAA+D;AhEi0MzE;;AgEn0MM;EAEI,sBAA+D;AhEq0MzE;;AgEv0MM;EAEI,sBAA+D;AhEy0MzE;;AgE30MM;EAEI,sBAA+D;AhE60MzE;;AgE/0MM;EAEI,uBAA+D;AhEi1MzE;;AgEn1MM;EAEI,uBAA+D;AhEq1MzE;;AgEv1MM;EAEI,2BAA+D;AhEy1MzE;;AgE31MM;EAEI,wBAA+D;AhE61MzE;;AgE/1MM;EAEI,4BAA+D;AhEi2MzE;;AgEn2MM;EAEI,yBAA+D;AhEq2MzE;;AgEv2MM;EAEI,8BAA+D;AhEy2MzE;;AgE32MM;EAEI,iCAA+D;AhE62MzE;;AgE/2MM;EAEI,sCAA+D;AhEi3MzE;;AgEn3MM;EAEI,yCAA+D;AhEq3MzE;;AgEv3MM;EAEI,uBAA+D;AhEy3MzE;;AgE33MM;EAEI,uBAA+D;AhE63MzE;;AgE/3MM;EAEI,yBAA+D;AhEi4MzE;;AgEn4MM;EAEI,yBAA+D;AhEq4MzE;;AgEv4MM;EAEI,0BAA+D;AhEy4MzE;;AgE34MM;EAEI,4BAA+D;AhE64MzE;;AgE/4MM;EAEI,kCAA+D;AhEi5MzE;;AgEn5MM;EAEI,sCAA+D;AhEq5MzE;;AgEv5MM;EAEI,oCAA+D;AhEy5MzE;;AgE35MM;EAEI,kCAA+D;AhE65MzE;;AgE/5MM;EAEI,yCAA+D;AhEi6MzE;;AgEn6MM;EAEI,wCAA+D;AhEq6MzE;;AgEv6MM;EAEI,wCAA+D;AhEy6MzE;;AgE36MM;EAEI,kCAA+D;AhE66MzE;;AgE/6MM;EAEI,gCAA+D;AhEi7MzE;;AgEn7MM;EAEI,8BAA+D;AhEq7MzE;;AgEv7MM;EAEI,gCAA+D;AhEy7MzE;;AgE37MM;EAEI,+BAA+D;AhE67MzE;;AgE/7MM;EAEI,oCAA+D;AhEi8MzE;;AgEn8MM;EAEI,kCAA+D;AhEq8MzE;;AgEv8MM;EAE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r5NM;EAEI,2BAA+D;AhEu5NzE;;AgEz5NM;EAEI,+BAA+D;AhE25NzE;;AgE75NM;EAEI,2BAA+D;AhE+5NzE;;AgEj6NM;EAEI,2BAA+D;AhEm6NzE;;AgEr6NM;EAEI,8BAA+D;AhEu6NzE;;AgEz6NM;EAEI,oCAA+D;AhE26NzE;;AgE76NM;EAEI,oCAA+D;AhE+6NzE;;AgEj7NM;EAEI,qCAA+D;AhEm7NzE;;AgEr7NM;EAEI,2BAA+D;AhEu7NzE;;AgEz7NM;EAEI,4BAA+D;AhE27NzE;;AgE77NM;EAEI,6BAA+D;AhE+7NzE;;AgEj8NM;EAEI,yBAA+D;AhEm8NzE;;AgEr8NM;EAEI,yBAA+D;AhEu8NzE;;AgEz8NM;EAEI,yBAA+D;AhE28NzE;;AgE78NM;EAEI,yBAA+D;AhE+8NzE;;AgEj9NM;EAEI,yBAA+D;AhEm9NzE;;AgEr9NM;EAEI,yBAA+D;AhEu9NzE;;AgEz9NM;EAEI,yBAA+D;AhE29NzE;;AgE79NM;EAEI,yBAA+D;AhE+9NzE;;AgEj+NM;EAEI,sBAA+D;AhEm+NzE;;AgEr+NM;EAEI,yBAA+D;AhEu+NzE;;AgEz+NM;EAEI,yBAA+D;AhE2+NzE;;AgE7+NM;EAEI,oCAA+D;AhE++NzE;;AgEj/NM;EAEI,0CAA+D;AhEm/NzE;;AgEr/NM;EAEI,yBAA+D;AhEu/NzE;;AgEz/NM;EAEI,yBAA+D;AhE2/NzE;;AgE7/NM;EAEI,4BAA+D;AhE+/NzE;;AgEjgOM;EAEI,2BAA+D;AhEmgOzE;;AgErgOM;EAEI,yBAA+D;AhEugOzE;;AgEzgOM;EAEI,oCAA+D;AhE2gOzE;;AgE7gOM;EAEI,oCAA+D;AhE+gOzE;;AgEjhOM;EAEI,oCAA+D;AhEmhOzE;;AgErhOM;EAEI,oCAA+D;AhEuhOzE;;AgEzhOM;EAEI,oCAA+D;AhE2hOzE;;AgE7hOM;EAEI,oCAA+D;AhE+hOzE;;AgEjiOM;EAEI,oCAA+D;AhEmiOzE;;AgEriOM;EAEI,oCAA+D;AhEuiOzE;;AgEziOM;EAEI,iCAA+D;AhE2iOzE;;AgE7iOM;EAEI,iCAA+D;AhE+iOzE;;AgEjjOM;EAEI,wCAA+D;AhEmjOzE;;AgErjOM;EAEI,+CAA+D;AhEujOzE;;AgEzjOM;EAEI,8BAA+D;AhE2jOzE;;AgE7jOM;EAEI,8BAA+D;AhE+jOzE;;AgEjkOM;EAEI,gCAA+D;AhEmkOzE;;AgErkOM;EAEI,qCAA+D;AhEukOzE;;AgEzkOM;EAEI,wCAA+D;AhE2kOzE;;AgE7kOM;EAEI,6BAA+D;AhE+kOzE;;AgEjlOM;EAEI,6BAA+D;AhEmlOzE;;AgErlOM;EAEI,gCAA+D;EAA/D,iCAA+D;AhEwlOzE;;AgE1lOM;EAEI,gDAA+D;AhE4lOzE;;AgE9lOM;EAEI,mCAA+D;EAA/D,gCAA+D;EAA/D,+BAA+D;EAA/D,2BAA+D;AhEgmOzE;;AgElmOM;EAEI,oCAA+D;EAA/D,iCAA+D;EAA/D,gCAA+D;EAA/D,4BAA+D;AhEomOzE;;AgEtmOM;EAEI,oCAA+D;EAA/D,iCAA+D;EAA/D,gCAA+D;EAA/D,4BAA+D;AhEwmOzE;;AgE1mOM;EAEI,+BAA+D;AhE4mOzE;;AgE9mOM;EAEI,+BAA+D;AhEgnOzE;;AgElnOM;EAEI,iCAA+D;AhEonOzE;;AgEtnOM;EAEI,gCAA+D;AhEwnOzE;;AgE1nOM;EAEI,gCAA+D;AhE4nOzE;;AgE9nOM;EAEI,6BAA+D;AhEgoOzE;;AgEloOM;EAEI,+BAA+D;AhEooOzE;;AgEtoOM;EAEI,2BAA+D;AhEwoOzE;;AgE1oOM;EAEI,0CAA+D;EAA/D,2CAA+D;AhE6oOzE;;AgE/oOM;EAEI,2CAA+D;EAA/D,8CAA+D;AhEkpOzE;;AgEppOM;EAEI,8CAA+D;EAA/D,6CAA+D;AhEupOzE;;AgEzpOM;EAEI,6CAA+D;EAA/D,0CAA+D;AhE4pOzE;;AgE9pOM;EAEI,8BAA+D;AhEgqOzE;;AgElqOM;EAEI,6BAA+D;AhEoqOzE;;AYhpOI;EoDtBE;IAEI,sBAA+D;EhEyqOvE;EgE3qOI;IAEI,uBAA+D;EhE4qOvE;EgE9qOI;IAEI,sBAA+D;EhE+qOvE;EgEjrOI;IAEI,0BAA+D;EhEkrOvE;EgEprOI;IAEI,gCAA+D;EhEqrOvE;EgEvrOI;IAEI,yBAA+D;EhEwrOvE;EgE1rOI;IAEI,yBAA+D;EhE2rOvE;EgE7rOI;IAEI,6BAA+D;EhE8rOvE;EgEhsOI;IAEI,8BAA+D;EhEisOvE;EgEnsOI;IAEI,wBAA+D;EhEosOvE;EgEtsOI;IAEI,+BAA+D;EhEusOvE;EgEzsOI;IAEI,wBAA+D;EhE0sOvE;EgE5sOI;IAEI,yBAA+D;EhE6sOvE;EgE/sOI;IAEI,8BAA+D;EhEgtOvE;EgEltOI;IAEI,iCAA+D;EhEmtOvE;EgErtOI;IAEI,sCAA+D;EhEstOvE;EgExtOI;IAEI,yCAA+D;EhEytOvE;EgE3tOI;IAEI,uBAA+D;EhE4tOvE;EgE9tOI;IAEI,uBAA+D;EhE+tOvE;EgEjuOI;IAEI,yBAA+D;EhEkuOvE;EgEpuOI;IAEI,yBAA+D;EhEquOvE;EgEvuOI;IAEI,0BAA+D;EhEwuOvE;EgE1uOI;IAEI,4BAA+D;EhE2uOvE;EgE7uOI;IAEI,kCAA+D;EhE8uOvE;EgEhvOI;IAEI,sCAA+D;EhEivOvE;EgEnvOI;IAEI,oCAA+D;EhEovOvE;EgEtvOI;IAEI,kCAA+D;EhEuvOvE;EgEzvOI;IAEI,yCAA+D;EhE0vOvE;EgE5vOI;IAEI,wCAA+D;EhE6vOvE;EgE/vOI;IAEI,wCAA+D;EhEgwOvE;EgElwOI;IAEI,kCAA+D;EhEmwOvE;EgErwOI;IAEI,gCAA+D;EhEswOvE;EgExwOI;IAEI,8BAA+D;EhEywOvE;EgE3wOI;IAEI,gCAA+D;EhE4wOvE;EgE9wOI;IAEI,+BAA+D;EhE+wOvE;EgEjxOI;IAEI,oCAA+D;EhEkxOvE;EgEpxOI;IAEI,kCAA+D;EhEqxOvE;EgEvxOI;IAEI,gCAA+D;EhEwxOvE;EgE1xOI;IAEI,uCAA+D;EhE2xOvE;EgE7xOI;IAEI,sCAA+D;EhE8xOvE;EgEhyOI;IAEI,iCAA+D;EhEiyOvE;EgEnyOI;IAEI,2BAA+D;EhEoyOvE;EgEtyOI;IAEI,iCAA+D;EhEuyOvE;EgEzyOI;IAEI,+BAA+D;EhE0yOvE;EgE5yOI;IAEI,6BAA+D;EhE6yOvE;EgE/yOI;IAEI,+BAA+D;EhEgzOvE;EgElzOI;IAEI,8BAA+D;EhEmzOvE;EgErzOI;IAEI,oBAA+D;EhEszOvE;EgExzOI;IAEI,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AA+D;EhEsqPvE;EgExqPI;IAEI,yBAA+D;EhEyqPvE;EgE3qPI;IAEI,8BAA+D;EhE4qPvE;EgE9qPI;IAEI,iCAA+D;EhE+qPvE;EgEjrPI;IAEI,sCAA+D;EhEkrPvE;EgEprPI;IAEI,yCAA+D;EhEqrPvE;EgEvrPI;IAEI,uBAA+D;EhEwrPvE;EgE1rPI;IAEI,uBAA+D;EhE2rPvE;EgE7rPI;IAEI,yBAA+D;EhE8rPvE;EgEhsPI;IAEI,yBAA+D;EhEisPvE;EgEnsPI;IAEI,0BAA+D;EhEosPvE;EgEtsPI;IAEI,4BAA+D;EhEusPvE;EgEzsPI;IAEI,kCAA+D;EhE0sPvE;EgE5sPI;IAEI,sCAA+D;EhE6sPvE;EgE/sPI;IAEI,oCAA+D;EhEgtPvE;EgEltPI;IAEI,kCAA+D;EhEmtPvE;EgErtPI;IAEI,yCAA+D;EhEstPvE;EgExtPI;IAEI,wCAA+D;EhEytPvE;EgE3tPI;IAEI,wCAA+D;EhE4tPvE;EgE9tPI;IAEI,kCAA+D;EhE+tPvE;EgEjuPI;IAEI,gCAA+D;EhEkuPvE;EgEpuPI;IAEI,8BAA+D;EhEquPvE;EgEvuPI;IAEI,gCAA+D;EhEwuPvE;EgE1uPI;IAEI,+BAA+D;EhE2uPvE;EgE7uPI;IAEI,oCAA+D;EhE8uPvE;EgEhvPI;IAEI,kCAA+D;EhEivPvE;EgEnvPI;IAEI,gCAA+D;EhEovPvE;EgEtvPI;IAEI,uCAA+D;EhEuvPvE;EgEzvPI;IAEI,sCAA+D;EhE0vPvE;EgE5vPI;IAEI,iCAA+D;EhE6vPvE;EgE/vPI;IAEI,2BAA+D;EhEgwPvE;EgElwPI;IAEI,iCAA+D;EhEmwPvE;EgErwPI;IAEI,+BAA+D;EhEswPvE;EgExwPI;IAEI,6BAA+D;EhEywPvE;EgE3wPI;IAEI,+BAA+D;EhE4wPvE;EgE9wPI;IAEI,8BAA+D;EhE+wPvE;EgEjxPI;IAEI,oBAA+D;EhEkxPvE;EgEpxPI;IAEI,mBAA+D;EhEqxPvE;EgEvxPI;IAEI,mBAA+D;EhEwxPvE;EgE1xPI;IAEI,mBAA+D;EhE2xPvE;EgE7xPI;IAEI,mBAA+D;EhE8xPvE;EgEhyPI;IAEI,mBAA+D;EhEiyP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EgElhQI;IAEI,8BAA+D;EhEmhQvE;EgErhQI;IAEI,4BAA+D;EhEshQvE;EgExhQI;IAEI,8BAA+D;EhEyhQvE;EgE3hQI;IAEI,4BAA+D;EhE4hQvE;EgE9hQI;IAEI,2BAA+D;EhE+hQvE;EgEjiQI;IAEI,iCAA+D;EhEkiQvE;EgEpiQI;IAEI,gCAA+D;EhEqiQvE;EgEviQI;IAEI,8BAA+D;EhEwiQvE;EgE1iQI;IAEI,gCAA+D;EhE2iQvE;EgE7iQI;IAEI,8BAA+D;EhE8iQvE;EgEhjQI;IAEI,4BAA+D;EhEijQvE;EgEnjQI;IAEI,kCAA+D;EhEojQvE;EgEtjQI;IAEI,iCAA+D;EhEujQvE;EgEzjQI;IAEI,+BAA+D;EhE0jQvE;EgE5jQI;IAEI,iCAA+D;EhE6jQvE;EgE/jQI;IAEI,+BAA+D;EhEgkQvE;EgElkQI;IAEI,0BAA+D;EhEmkQvE;EgErkQI;IAEI,gCAA+D;EhEskQvE;EgExkQI;IAEI,+BAA+D;EhEykQvE;EgE3kQI;IAEI,6BAA+D;EhE4kQvE;EgE9kQI;IAEI,+BAA+D;EhE+kQvE;EgEjlQI;IAEI,6BAA+D;EhEklQvE;EgEplQI;IAEI,2BAA+D;EhEqlQvE;EgEvlQI;IAEI,4BAA+D;EhEwlQvE;EgE1lQI;IAEI,6BAA+D;EhE2lQvE;AACF;;AYxkQI;EoDtBE;IAEI,sBAA+D;EhEimQvE;EgEnmQI;IAEI,uBAA+D;EhEomQvE;EgEtmQI;IAEI,sBAA+D;EhEumQvE;EgEzmQI;IAEI,0BAA+D;EhE0mQvE;EgE5mQI;IAEI,gCAA+D;EhE6mQvE;EgE/mQI;IAEI,yBAA+D;EhEgnQvE;EgElnQI;IAEI,yBAA+D;EhEmnQvE;EgErnQI;IAEI,6BAA+D;EhEsnQvE;EgExnQI;IAEI,8BAA+D;EhEynQvE;EgE3nQI;IAEI,wBAA+D;EhE4nQvE;EgE9nQI;IAEI,+BAA+D;EhE+nQvE;EgEjoQI;IAEI,wBAA+D;EhEkoQvE;EgEpoQI;IAEI,yBAA+D;EhEqoQvE;EgEvoQI;IAEI,8BAA+D;EhEwoQvE;EgE1oQI;IAEI,iCAA+D;EhE2oQvE;EgE7oQI;IAEI,sCAA+D;EhE8oQvE;EgEhpQI;IAEI,yCAA+D;EhEipQvE;EgEnpQI;IAEI,uBAA+D;EhEopQvE;EgEtpQI;IAEI,uBAA+D;EhEupQvE;EgEzpQI;IAEI,yBAA+D;EhE0pQvE;EgE5pQI;IAEI,yBAA+D;EhE6pQvE;EgE/pQI;IAEI,0BAA+D;EhEgqQvE;EgElqQI;IAEI,4BAA+D;EhEmqQvE;EgErqQI;IAEI,kCAA+D;EhEsqQvE;EgExqQI;IAEI,sCAA+D;EhEyqQvE;EgE3qQI;IAEI,oCAA+D;EhE4qQvE;EgE9qQI;IAEI,kCAA+D;EhE+qQvE;EgEjrQI;IAEI,yCAA+D;EhEkrQvE;EgEprQI;IAEI,wCAA+D;EhEqrQvE;EgEvrQI;IAEI,wCAA+D;EhEwrQvE;EgE1rQI;IAEI,kCAA+D;EhE2rQvE;EgE7rQI;IAEI,gCAA+D;EhE8rQvE;EgEhsQI;IAEI,8BAA+D;EhEisQvE;EgEnsQI;IAEI,gCAA+D;EhEosQvE;EgEtsQI;IAEI,+BAA+D;EhEusQvE;EgEzsQI;IAEI,oCAA+D;EhE0sQvE;EgE5sQI;IAEI,kCAA+D;EhE6sQvE;EgE/sQI;IAEI,gCAA+D;EhEgtQvE;EgEltQI;IAEI,uCAA+D;EhEmtQvE;EgErtQI;IAEI,sCAA+D;EhEstQvE;EgExtQI;IAEI,iCAA+D;EhEytQvE;EgE3tQI;IAEI,2BAA+D;EhE4tQvE;EgE9tQI;IAEI,iCAA+D;EhE+tQvE;EgEjuQI;IAEI,+BAA+D;EhEkuQvE;EgEpuQI;IAEI,6BAA+D;EhEquQvE;EgEvuQI;IAEI,+BAA+D;EhEwuQvE;EgE1uQI;IAEI,8BAA+D;EhE2uQvE;EgE7uQI;IAEI,oBAA+D;EhE8uQvE;EgEhvQI;IAEI,mBAA+D;EhEivQvE;EgEnvQI;IAEI,mBAA+D;EhEovQvE;EgEtvQI;IAEI,mBAA+D;EhEuvQvE;EgEzvQI;IAEI,mBAA+D;EhE0vQvE;EgE5vQI;IAEI,mBAA+D;EhE6vQvE;EgE/vQI;IAEI,mBAA+D;EhEgwQvE;EgElwQI;IAEI,mBAA+D;EhEmwQvE;EgErwQI;IAEI,oBAA+D;EhEswQvE;EgExwQI;IAEI,0BAA+D;EhEywQvE;EgE3wQI;IA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2BAA+D;EhE2/QvE;EgE7/QI;IAEI,iCAA+D;EhE8/QvE;EgEhgRI;IAEI,gCAA+D;EhEigRvE;EgEngRI;IAEI,8BAA+D;EhEogRvE;EgEtgRI;IAEI,gCAA+D;EhEugRvE;EgEzgRI;IAEI,8BAA+D;EhE0gRvE;EgE5gRI;IAEI,4BAA+D;EhE6gRvE;EgE/gRI;IAEI,kCAA+D;EhEghRvE;EgElhRI;IAEI,iCAA+D;EhEmhRvE;EgErhRI;IAEI,+BAA+D;EhEshRvE;EgExhRI;IAEI,iCAA+D;EhEyhRvE;EgE3hRI;IAEI,+BAA+D;EhE4hRvE;EgE9hRI;IAEI,0BAA+D;EhE+hRvE;EgEjiRI;IAEI,gCAA+D;EhEkiRvE;EgEpiRI;IAEI,+BAA+D;EhEqiRvE;EgEviRI;IAEI,6BAA+D;EhEwiRvE;EgE1iRI;IAEI,+BAA+D;EhE2iRvE;EgE7iRI;IAEI,6BAA+D;EhE8iRvE;EgEhjRI;IAEI,2BAA+D;EhEijRvE;EgEnjRI;IAEI,4BAA+D;EhEojRvE;EgEtjRI;IAEI,6BAA+D;EhEujRvE;AACF;;AYpiRI;EoDtBE;IAEI,sBAA+D;EhE6jRvE;EgE/jRI;IAEI,uBAA+D;EhEgkRvE;EgElkRI;IAEI,sBAA+D;EhEmkRvE;EgErkRI;IAEI,0BAA+D;EhEskRvE;EgExkRI;IAEI,gCAA+D;EhEykRvE;EgE3kRI;IAEI,yBAA+D;EhE4kRvE;EgE9kRI;IAEI,yBAA+D;EhE+kRvE;EgEjlRI;IAEI,6BAA+D;EhEklRvE;EgEplRI;IAEI,8BAA+D;EhEqlRvE;EgEvlRI;IAEI,wBAA+D;EhEwlRvE;EgE1lRI;IAEI,+BAA+D;EhE2lRvE;EgE7lRI;IAEI,wBAA+D;EhE8lRvE;EgEhmRI;IAEI,yBAA+D;EhEimRvE;EgEnmRI;IAEI,8BAA+D;EhEomRvE;EgEtmRI;IAEI,iCAA+D;EhEumRvE;EgEzmRI;IAEI,sCAA+D;EhE0mRvE;EgE5mRI;IAEI,yCAA+D;EhE6mRvE;EgE/mRI;IAEI,uBAA+D;EhEgnRvE;EgElnRI;IAEI,uBAA+D;EhEmnRvE;EgErnRI;IAEI,yBAA+D;EhEsnRvE;EgExnRI;IAEI,yBAA+D;EhEynRvE;EgE3nRI;IAEI,0BAA+D;EhE4nRvE;EgE9nRI;IAEI,4BAA+D;EhE+nRvE;EgEjoRI;IAEI,kCAA+D;EhEkoRvE;EgEpoRI;IAEI,sCAA+D;EhEqoRvE;EgEvoRI;IAEI,oCAA+D;EhEwoRvE;EgE1oRI;IAEI,kCAA+D;EhE2oRvE;EgE7oRI;IAEI,yCAA+D;EhE8oRvE;EgEhpRI;IAEI,wCAA+D;EhEipRvE;EgEnpRI;IAEI,wCAA+D;EhEopRvE;EgEtpRI;IAEI,kCAA+D;EhEupRvE;EgEzpRI;IAEI,gCAA+D;EhE0pRvE;EgE5pRI;IAEI,8BAA+D;EhE6pRvE;EgE/pRI;IAEI,gCAA+D;EhEgqRvE;EgElqRI;IAEI,+BAA+D;EhEmqRvE;EgErqRI;IAEI,oCAA+D;EhEsqRvE;EgExqRI;IAEI,kCAA+D;EhEyqRvE;EgE3qRI;IAEI,gCAA+D;EhE4qRvE;EgE9qRI;IAEI,uCAA+D;EhE+qRvE;EgEjrRI;IAEI,sCAA+D;EhEkrRvE;EgEprRI;IAEI,iCAA+D;EhEqrRvE;EgEvrRI;IAEI,2BAA+D;EhEwrRvE;EgE1rRI;IAEI,iCAA+D;EhE2rRvE;EgE7rRI;IAEI,+BAA+D;EhE8rRvE;EgEhsRI;IAEI,6BAA+D;EhEisRvE;EgEnsRI;IAEI,+BAA+D;EhEosRvE;EgEtsRI;IAEI,8BAA+D;EhEusRvE;EgEzsRI;IAEI,oBAA+D;EhE0sRvE;EgE5sRI;IAEI,mBAA+D;EhE6sRvE;EgE/sRI;IAEI,mBAA+D;EhEgtRvE;EgEltRI;IAEI,mBAA+D;EhEmtRvE;EgErtRI;IAEI,mBAA+D;EhEstRvE;EgExtRI;IAEI,mBAA+D;EhEytRvE;EgE3tRI;IAEI,mBAA+D;EhE4tRvE;EgE9tRI;IAEI,mBAA+D;EhE+tRvE;EgEjuRI;IAEI,oBAA+D;EhEkuRvE;EgEpuRI;IAEI,0BAA+D;EhEquRvE;EgEvuRI;IAEI,yBAA+D;EhEwuRvE;EgE1uRI;IAEI,uBAA+D;EhE2uRvE;EgE7uRI;IAEI,yBAA+D;EhE8uRvE;EgEhvRI;IAEI,uBAA+D;EhEivRvE;EgEnvRI;IAEI,uBAA+D;EhE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vE;EgEr+RI;IAEI,8BAA+D;EhEs+RvE;EgEx+RI;IAEI,4BAA+D;EhEy+RvE;EgE3+RI;IAEI,kCAA+D;EhE4+RvE;EgE9+RI;IAEI,iCAA+D;EhE++RvE;EgEj/RI;IAEI,+BAA+D;EhEk/RvE;EgEp/RI;IAEI,iCAA+D;EhEq/RvE;EgEv/RI;IAEI,+BAA+D;EhEw/RvE;EgE1/RI;IAEI,0BAA+D;EhE2/RvE;EgE7/RI;IAEI,gCAA+D;EhE8/RvE;EgEhgSI;IAEI,+BAA+D;EhEigSvE;EgEngSI;IAEI,6BAA+D;EhEogSvE;EgEtgSI;IAEI,+BAA+D;EhEugSvE;EgEzgSI;IAEI,6BAA+D;EhE0gSvE;EgE5gSI;IAEI,2BAA+D;EhE6gSvE;EgE/gSI;IAEI,4BAA+D;EhEghSvE;EgElhSI;IAEI,6BAA+D;EhEmhSvE;AACF;;AYhgSI;EoDtBE;IAEI,sBAA+D;EhEyhSvE;EgE3hSI;IAEI,uBAA+D;EhE4hSvE;EgE9hSI;IAEI,sBAA+D;EhE+hSvE;EgEjiSI;IAEI,0BAA+D;EhEkiSvE;EgEpiSI;IAEI,gCAA+D;EhEqiSvE;EgEviSI;IAEI,yBAA+D;EhEwiSvE;EgE1iSI;IAEI,yBAA+D;EhE2iSvE;EgE7iSI;IAEI,6BAA+D;EhE8iSvE;EgEhjSI;IAEI,8BAA+D;EhEijSvE;EgEnjSI;IAEI,wBAA+D;EhEojSvE;EgEtjSI;IAEI,+BAA+D;EhEujSvE;EgEzjSI;IAEI,wBAA+D;EhE0jSvE;EgE5jSI;IAEI,yBAA+D;EhE6jSvE;EgE/jSI;IAEI,8BAA+D;EhEgkSvE;EgElkSI;IAEI,iCAA+D;EhEmkSvE;EgErkSI;IAEI,sCAA+D;EhEskSvE;EgExkSI;IAEI,yCAA+D;EhEykSvE;EgE3kSI;IAEI,uBAA+D;EhE4kSvE;EgE9kSI;IAEI,uBAA+D;EhE+kSvE;EgEjlSI;IAEI,yBAA+D;EhEklSvE;EgEplSI;IAEI,yBAA+D;EhEqlSvE;EgEvlSI;IAEI,0BAA+D;EhEwlSvE;EgE1lSI;IAEI,4BAA+D;EhE2lSvE;EgE7lSI;IAEI,kCAA+D;EhE8lSvE;EgEhmSI;IAEI,sCAA+D;EhEim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EI,+BAA+D;EhE88SvE;EgEh9SI;IAEI,iCAA+D;EhEi9SvE;EgEn9SI;IAEI,+BAA+D;EhEo9SvE;EgEt9SI;IAEI,0BAA+D;EhEu9SvE;EgEz9SI;IAEI,gCAA+D;EhE09SvE;EgE59SI;IAEI,+BAA+D;EhE69SvE;EgE/9SI;IAEI,6BAA+D;EhEg+SvE;EgEl+SI;IAEI,+BAA+D;EhEm+SvE;EgEr+SI;IAEI,6BAA+D;EhEs+SvE;EgEx+SI;IAEI,2BAA+D;EhEy+SvE;EgE3+SI;IAEI,4BAA+D;EhE4+SvE;EgE9+SI;IAEI,6BAA+D;EhE++SvE;AACF;;AiEr/SA;EDGM;IAEI,0BAA+D;EhEq/SvE;EgEv/SI;IAEI,gCAA+D;EhEw/SvE;EgE1/SI;IAEI,yBAA+D;EhE2/SvE;EgE7/SI;IAEI,yBAA+D;EhE8/SvE;EgEhgTI;IAEI,6BAA+D;EhEigTvE;EgEngTI;IAEI,8BAA+D;EhEogTvE;EgEtgTI;IAEI,wBAA+D;EhEugTvE;EgEzgTI;IAEI,+BAA+D;EhE0gTvE;EgE5gTI;IAEI,wBAA+D;EhE6gTvE;AACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n","/*!\n * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #343a40;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #024dbc;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n -ms-overflow-style: scrollbar;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.625rem + 4.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5rem;\n }\n}\n\n.display-2 {\n font-size: calc(1.575rem + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5rem;\n }\n}\n\n.display-3 {\n font-size: calc(1.525rem + 3.3vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4rem;\n }\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.display-5 {\n font-size: calc(1.425rem + 2.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3rem;\n }\n}\n\n.display-6 {\n font-size: calc(1.375rem + 1.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5rem;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1rem;\n margin-bottom: 1rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl,\n.container-xxl {\n --bs-gutter-x: 1.5rem;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n@media (min-width: 1400px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {\n max-width: 1320px;\n }\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n.table {\n --bs-table-bg: transparent;\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: #212529;\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\n --bs-table-active-color: #212529;\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\n --bs-table-hover-color: #212529;\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n border-color: #dee2e6;\n}\n\n.table > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));\n border-bottom-width: 1px;\n}\n\n.table > tbody {\n vertical-align: inherit;\n}\n\n.table > thead {\n vertical-align: bottom;\n}\n\n.table > :not(:last-child) > :last-child > * {\n border-bottom-color: currentColor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: 1px 0;\n}\n\n.table-bordered > :not(caption) > * > * {\n border-width: 0 1px;\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.table-active {\n --bs-table-accent-bg: var(--bs-table-active-bg);\n color: var(--bs-table-active-color);\n}\n\n.table-hover > tbody > tr:hover {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n}\n\n.table-primary {\n --bs-table-bg: #bbd6fe;\n --bs-table-striped-bg: #b2cbf1;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #a8c1e5;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #adc6eb;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #a8c1e5;\n}\n\n.table-secondary {\n --bs-table-bg: #d6d8db;\n --bs-table-striped-bg: #cbcdd0;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #c1c2c5;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #c6c8cb;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #c1c2c5;\n}\n\n.table-success {\n --bs-table-bg: #bfddcf;\n --bs-table-striped-bg: #b5d2c5;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #acc7ba;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #b1ccbf;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #acc7ba;\n}\n\n.table-info {\n --bs-table-bg: #bbf0fb;\n --bs-table-striped-bg: #b2e4ee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #a8d8e2;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #addee8;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #a8d8e2;\n}\n\n.table-warning {\n --bs-table-bg: #ffeeba;\n --bs-table-striped-bg: #f2e2b1;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e6d6a7;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #ecdcac;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #e6d6a7;\n}\n\n.table-danger {\n --bs-table-bg: #f5c6cb;\n --bs-table-striped-bg: #e9bcc1;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #ddb2b7;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e3b7bc;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #ddb2b7;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #ecedee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfe0e1;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5e6e7;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #dfe0e1;\n}\n\n.table-dark {\n --bs-table-bg: #343a40;\n --bs-table-striped-bg: #3e444a;\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: #484e53;\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: #43494e;\n --bs-table-hover-color: #fff;\n color: #fff;\n border-color: #484e53;\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n.form-label {\n margin-bottom: 0.5rem;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-text {\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n appearance: none;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background-color: #fff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.5em;\n}\n\n.form-check-input {\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n background-color: #fff;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: 1px solid rgba(0, 0, 0, 0.25);\n appearance: none;\n color-adjust: exact;\n transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-check-input {\n transition: none;\n }\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n border-color: #0d6efd;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n opacity: .5;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n background-position: left center;\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n 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='%238bbafe'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-position: right center;\n 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\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.form-file {\n --bs-form-file-height: calc(1.5em + 0.75rem + 2px);\n position: relative;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: var(--bs-form-file-height);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text,\n.form-file-input:disabled ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: var(--bs-form-file-height);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-file-sm {\n --bs-form-file-height: calc(1.5em + 0.5rem + 2px);\n font-size: 0.875rem;\n}\n\n.form-file-sm .form-file-text,\n.form-file-sm .form-file-button {\n padding: 0.25rem 0.5rem;\n}\n\n.form-file-lg {\n --bs-form-file-height: calc(1.5em + 1rem + 2px);\n font-size: 1.25rem;\n}\n\n.form-file-lg .form-file-text,\n.form-file-lg .form-file-button {\n padding: 0.5rem 1rem;\n}\n\n.form-range {\n width: 100%;\n height: 1.5rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled {\n pointer-events: none;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file > .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-file:not(:last-child) > .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) > .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group .btn:focus {\n z-index: 3;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group > .dropdown-toggle:nth-last-child(n + 3) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > :not(:first-child):not(.dropdown-menu) {\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #198754;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(25, 135, 84, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #198754;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #198754;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #198754;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #198754;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #198754;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #198754;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n}\n\n.btn-check:focus + .btn, .btn:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.btn:disabled, .btn.disabled,\nfieldset:disabled .btn {\n pointer-events: none;\n opacity: 0.65;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n}\n\n.btn-check:focus + .btn-primary, .btn-primary:focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-check:checked + .btn-primary,\n.btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0257d5;\n border-color: #0252c9;\n}\n\n.btn-check:checked + .btn-primary:focus,\n.btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary:disabled, .btn-primary.disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-check:focus + .btn-secondary, .btn-secondary:focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-check:checked + .btn-secondary,\n.btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-check:checked + .btn-secondary:focus,\n.btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary:disabled, .btn-secondary.disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-success {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #136740;\n border-color: #115c39;\n}\n\n.btn-check:focus + .btn-success, .btn-success:focus {\n color: #fff;\n background-color: #136740;\n border-color: #115c39;\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n\n.btn-check:checked + .btn-success,\n.btn-check:active + .btn-success, .btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #115c39;\n border-color: #0f5133;\n}\n\n.btn-check:checked + .btn-success:focus,\n.btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-info {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-info:hover {\n color: #000;\n background-color: #2fd3f4;\n border-color: #23d0f3;\n}\n\n.btn-check:focus + .btn-info, .btn-info:focus {\n color: #000;\n background-color: #2fd3f4;\n border-color: #23d0f3;\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n\n.btn-check:checked + .btn-info,\n.btn-check:active + .btn-info, .btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #000;\n background-color: #3cd5f4;\n border-color: #23d0f3;\n}\n\n.btn-check:checked + .btn-info:focus,\n.btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-warning {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #000;\n background-color: #ffcb2d;\n border-color: #ffc721;\n}\n\n.btn-check:focus + .btn-warning, .btn-warning:focus {\n color: #000;\n background-color: #ffcb2d;\n border-color: #ffc721;\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n\n.btn-check:checked + .btn-warning,\n.btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #000;\n background-color: #ffce3a;\n border-color: #ffc721;\n}\n\n.btn-check:checked + .btn-warning:focus,\n.btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-check:focus + .btn-danger, .btn-danger:focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-check:checked + .btn-danger,\n.btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-check:checked + .btn-danger:focus,\n.btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger:disabled, .btn-danger.disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-light {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #000;\n background-color: white;\n border-color: white;\n}\n\n.btn-check:focus + .btn-light, .btn-light:focus {\n color: #000;\n background-color: white;\n border-color: white;\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n\n.btn-check:checked + .btn-light,\n.btn-check:active + .btn-light, .btn-light:active, .btn-light.active,\n.show > .btn-light.dropdown-toggle {\n color: #000;\n background-color: white;\n border-color: white;\n}\n\n.btn-check:checked + .btn-light:focus,\n.btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-check:focus + .btn-dark, .btn-dark:focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.25rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-check:checked + .btn-dark,\n.btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-check:checked + .btn-dark:focus,\n.btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark:disabled, .btn-dark.disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-check:checked + .btn-outline-primary,\n.btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-check:checked + .btn-outline-primary:focus,\n.btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary:disabled, .btn-outline-primary.disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-check:checked + .btn-outline-secondary,\n.btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-check:checked + .btn-outline-secondary:focus,\n.btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-success {\n color: #198754;\n border-color: #198754;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n\n.btn-check:checked + .btn-outline-success,\n.btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-check:checked + .btn-outline-success:focus,\n.btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #198754;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-outline-info:hover {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n\n.btn-check:checked + .btn-outline-info,\n.btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-check:checked + .btn-outline-info:focus,\n.btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #0dcaf0;\n background-color: transparent;\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-check:checked + .btn-outline-warning,\n.btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-check:checked + .btn-outline-warning:focus,\n.btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:disabled, .btn-outline-warning.disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-check:checked + .btn-outline-danger,\n.btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-check:checked + .btn-outline-danger:focus,\n.btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger:disabled, .btn-outline-danger.disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-check:checked + .btn-outline-light,\n.btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-check:checked + .btn-outline-light:focus,\n.btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:disabled, .btn-outline-light.disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {\n box-shadow: 0 0 0 0.25rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-check:checked + .btn-outline-dark,\n.btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-check:checked + .btn-outline-dark:focus,\n.btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark:disabled, .btn-outline-dark.disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: underline;\n}\n\n.btn-link:hover {\n color: #024dbc;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xxl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1rem;\n color: #212529;\n}\n\n.dropdown-menu-dark {\n color: #dee2e6;\n background-color: #343a40;\n border-color: rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item {\n color: #dee2e6;\n}\n\n.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {\n color: #adb5bd;\n}\n\n.dropdown-menu-dark .dropdown-divider {\n border-color: rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item-text {\n color: #dee2e6;\n}\n\n.dropdown-menu-dark .dropdown-header {\n color: #adb5bd;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:nth-child(n + 3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl, .navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n text-decoration: none;\n white-space: nowrap;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n align-items: center;\n width: 100%;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n transition: box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n\n.navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 0.25rem;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.55);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.55);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1rem 1rem;\n}\n\n.card-title {\n margin-bottom: 0.5rem;\n}\n\n.card-subtitle {\n margin-top: -0.25rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1rem;\n}\n\n.card-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.5rem 1rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.5rem;\n margin-bottom: -0.5rem;\n margin-left: -0.5rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-group > .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #dee2e6;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n}\n\n.page-link:hover {\n z-index: 2;\n color: #024dbc;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n color: #024dbc;\n background-color: #e9ecef;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.35em 0.65em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 1rem 1rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 3rem;\n}\n\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 1.25rem 1rem;\n}\n\n.alert-primary {\n color: #073984;\n background-color: #cfe2ff;\n border-color: #bbd6fe;\n}\n\n.alert-primary .alert-link {\n color: #042454;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #0d462c;\n background-color: #d1e7dd;\n border-color: #bfddcf;\n}\n\n.alert-success .alert-link {\n color: #051b11;\n}\n\n.alert-info {\n color: #07697d;\n background-color: #cff4fc;\n border-color: #bbf0fb;\n}\n\n.alert-info .alert-link {\n color: #04404d;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n 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);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #073984;\n background-color: #bbd6fe;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #073984;\n background-color: #a2c7fe;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #073984;\n border-color: #073984;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #0d462c;\n background-color: #bfddcf;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #0d462c;\n background-color: #aed4c3;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #0d462c;\n border-color: #0d462c;\n}\n\n.list-group-item-info {\n color: #07697d;\n background-color: #bbf0fb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #07697d;\n background-color: #a3ebfa;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #07697d;\n border-color: #07697d;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.btn-close {\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: #000;\n background: transparent url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 16 16'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e\") no-repeat center center/1em auto;\n background-clip: content-box;\n border: 0;\n border-radius: 0.25rem;\n opacity: 0.5;\n}\n\n.btn-close:hover {\n color: #000;\n text-decoration: none;\n opacity: 0.75;\n}\n\n.btn-close:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n opacity: 1;\n}\n\n.btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: 0.25;\n}\n\n.btn-close-white {\n filter: invert(1) grayscale(100%) brightness(200%);\n}\n\n.toast {\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.5rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-header .btn-close {\n margin-right: -0.375rem;\n margin-left: 0.75rem;\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .btn-close {\n padding: 0.5rem 0.5rem;\n margin: -0.5rem -0.5rem -0.5rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n\n.modal-fullscreen .modal-header {\n border-radius: 0;\n}\n\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 1rem 1rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n\n.carousel-dark .carousel-indicators li {\n background-color: #000;\n}\n\n.carousel-dark .carousel-caption {\n color: #000;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border 0.75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow 0.75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #024dbc;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #198754;\n}\n\n.link-success:hover, .link-success:focus {\n color: #0d462c;\n}\n\n.link-info {\n color: #0dcaf0;\n}\n\n.link-info:hover, .link-info:focus {\n color: #54dbf6;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ffd454;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: white;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n\n.ratio::before {\n display: block;\n padding-top: var(--aspect-ratio);\n content: \"\";\n}\n\n.ratio > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --aspect-ratio: calc(3 / 4 * 100%);\n}\n\n.ratio-16x9 {\n --aspect-ratio: calc(9 / 16 * 100%);\n}\n\n.ratio-21x9 {\n --aspect-ratio: calc(9 / 21 * 100%);\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.left-0 {\n left: 0 !important;\n}\n\n.left-50 {\n left: 50% !important;\n}\n\n.left-100 {\n left: 100% !important;\n}\n\n.right-0 {\n right: 0 !important;\n}\n\n.right-50 {\n right: 50% !important;\n}\n\n.right-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translateX(-50%) translateY(-50%) !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #198754 !important;\n}\n\n.border-info {\n border-color: #0dcaf0 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.border-0 {\n border-width: 0 !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #198754 !important;\n}\n\n.text-info {\n color: #0dcaf0 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #198754 !important;\n}\n\n.bg-info {\n background-color: #0dcaf0 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.font-normal {\n font-style: normal !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1400px) {\n .float-xxl-left {\n float: left !important;\n }\n .float-xxl-right {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n .text-xxl-left {\n text-align: left !important;\n }\n .text-xxl-right {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --bs-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --bs-#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --bs-font-sans-serif: #{inspect($font-family-sans-serif)};\n --bs-font-monospace: #{inspect($font-family-monospace)};\n --bs-gradient: #{$gradient};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n// 4. Disable auto-hiding scrollbar in legacy Edge to avoid overlap,\n// making it impossible to interact with the content\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n -ms-overflow-style: scrollbar; // 4\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Correct the text wrapping in Edge.\n// 3. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n white-space: normal; // 2\n\n + * {\n clear: left; // 3\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-grid-classes: true !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer / 4,\n 2: $spacer / 2,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: null !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-widths: (\n 0: 0,\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--bs-font-sans-serif) !default;\n$font-family-code: var(--bs-font-monospace) !default;\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n\n$table-variants: (\n \"primary\": color-level($primary, $table-bg-level),\n \"secondary\": color-level($secondary, $table-bg-level),\n \"success\": color-level($success, $table-bg-level),\n \"info\": color-level($info, $table-bg-level),\n \"warning\": color-level($warning, $table-bg-level),\n \"danger\": color-level($danger, $table-bg-level),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: background-color .15s ease-in-out, background-position .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n$form-file-padding-y-sm: $input-padding-y-sm !default;\n$form-file-padding-x-sm: $input-padding-x-sm !default;\n$form-file-font-size-sm: $input-font-size-sm !default;\n$form-file-height-sm: $input-height-sm !default;\n\n$form-file-padding-y-lg: $input-padding-y-lg !default;\n$form-file-padding-x-lg: $input-padding-x-lg !default;\n$form-file-font-size-lg: $input-font-size-lg !default;\n$form-file-height-lg: $input-height-lg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' 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'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: null !default;\n$nav-link-hover-color: null !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: $spacer / 4 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n// Cards\n\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer / 2 !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y / 2 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: $spacer !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer / 4 !default;\n$tooltip-padding-x: $spacer / 2 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: $spacer !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer / 2 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-level: -9 !default;\n$list-group-item-color-level: 6 !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: $spacer / 2 !default;\n$breadcrumb-padding-x: $spacer !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-border-radius: $border-radius !default;\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$btn-close-color}' viewBox='0 0 16 16'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n@each $display, $font-size in $display-font-sizes {\n .display-#{$display} {\n @include font-size($font-size);\n font-weight: $display-font-weight;\n line-height: $display-line-height;\n }\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-font-size);\n\n > :last-child {\n margin-bottom: 0;\n }\n}\n\n.blockquote-footer {\n margin-top: -$blockquote-margin-y;\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-footer-font-size);\n color: $blockquote-footer-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --bs-gutter-x: #{$gutter};\n\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --bs-gutter-x: #{$gutter};\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-top: var(--bs-gutter-y);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --bs-gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --bs-gutter-y: #{$value};\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n --bs-table-bg: #{$table-bg};\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: #{$table-striped-color};\n --bs-table-striped-bg: #{$table-striped-bg};\n --bs-table-active-color: #{$table-active-color};\n --bs-table-active-bg: #{$table-active-bg};\n --bs-table-hover-color: #{$table-hover-color};\n --bs-table-hover-bg: #{$table-hover-bg};\n\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n border-color: $table-border-color;\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y $table-cell-padding-x;\n background-color: var(--bs-table-bg);\n background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));\n border-bottom-width: $table-border-width;\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n\n // Highlight border color between thead, tbody and tfoot.\n > :not(:last-child) > :last-child > * {\n border-bottom-color: $table-group-separator-color;\n }\n}\n\n\n//\n// Change placement of captions with a class\n//\n\n.caption-top {\n caption-side: top;\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n//\n// When borders are added on all sides of the cells, the corners can render odd when\n// these borders do not have the same color or if they are semi-transparent.\n// Therefor we add top and border bottoms to the `tr`s and left and right borders\n// to the `td`s or `th`s\n\n.table-bordered {\n > :not(caption) > * {\n border-width: $table-border-width 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 $table-border-width;\n }\n }\n}\n\n.table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-bottom-width: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n }\n}\n\n// Active table\n//\n// The `.table-active` class can be added to highlight rows or cells\n\n.table-active {\n --bs-table-accent-bg: var(--bs-table-active-bg);\n color: var(--bs-table-active-color);\n}\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n }\n}\n\n\n// Table variants\n//\n// Table variants set the table cell backgrounds, border colors\n// and the colors of the striped, hovered & active tables\n\n@each $color, $value in $table-variants {\n @include table-variant($color, $value);\n}\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @include media-breakpoint-down($breakpoint) {\n .table-responsive#{$infix} {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n","// scss-docs-start table-variant\n@mixin table-variant($state, $background) {\n .table-#{$state} {\n $color: color-contrast(opaque($body-bg, $background));\n $hover-bg: mix($color, $background, percentage($table-hover-bg-factor));\n $striped-bg: mix($color, $background, percentage($table-striped-bg-factor));\n $active-bg: mix($color, $background, percentage($table-active-bg-factor));\n\n --bs-table-bg: #{$background};\n --bs-table-striped-bg: #{$striped-bg};\n --bs-table-striped-color: #{color-contrast($striped-bg)};\n --bs-table-active-bg: #{$active-bg};\n --bs-table-active-color: #{color-contrast($active-bg)};\n --bs-table-hover-bg: #{$hover-bg};\n --bs-table-hover-color: #{color-contrast($hover-bg)};\n\n color: $color;\n border-color: mix($color, $background, percentage($table-border-factor));\n }\n}\n// scss-docs-end table-variant\n","//\n// Labels\n//\n\n.form-label {\n margin-bottom: $form-label-margin-bottom;\n @include font-size($form-label-font-size);\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n color: $form-label-color;\n}\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n line-height: $input-line-height;\n color: $form-label-color;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n @if length($map) > 0 {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n }\n}\n\n// Internal Bootstrap function to turn maps into its negative variant.\n// It prefixes the keys with `n` and makes the value negative.\n@function negativify-map($map) {\n $result: ();\n @each $key, $value in $map {\n @if $key != 0 {\n $result: map-merge($result, (\"n\" + $key: (-$value)));\n }\n }\n @return $result;\n}\n\n// Get multiple keys from a sass map\n@function map-get-multiple($map, $values) {\n $result: ();\n @each $key, $value in $map {\n @if (index($values, $key) != null) {\n $result: map-merge($result, ($key: $value));\n }\n }\n @return $result;\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n//\n// Requires the use of quotes around data URIs.\n\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n // Do not escape the url brackets\n @if str-index($string, \"url(\") == 1 {\n $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n } @else {\n $string: str-replace($string, $char, $encoded);\n }\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n// See https://github.com/twbs/bootstrap/pull/30168\n\n// A list of pre-calculated numbers of pow(($value / 255 + .055) / 1.055, 2.4). (from 0 to 255)\n// stylelint-disable-next-line scss/dollar-variable-default, scss/dollar-variable-pattern\n$_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1;\n\n@function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light, $min-contrast-ratio: $min-contrast-ratio) {\n $foregrounds: $color-contrast-light, $color-contrast-dark, $white, $black;\n $max-ratio: 0;\n $max-ratio-color: null;\n\n @each $color in $foregrounds {\n $contrast-ratio: contrast-ratio($background, $color);\n @if $contrast-ratio > $min-contrast-ratio {\n @return $color;\n } @else if $contrast-ratio > $max-ratio {\n $max-ratio: $contrast-ratio;\n $max-ratio-color: $color;\n }\n }\n\n @warn \"Found no color leading to #{$min-contrast-ratio}:1 contrast ratio against #{$background}...\";\n\n @return $max-ratio-color;\n}\n\n@function contrast-ratio($background, $foreground: $color-contrast-light) {\n $l1: luminance($background);\n $l2: luminance(opaque($background, $foreground));\n\n @return if($l1 > $l2, ($l1 + .05) / ($l2 + .05), ($l2 + .05) / ($l1 + .05));\n}\n\n// Return WCAG2.0 relative luminance\n// See https://www.w3.org/WAI/GL/wiki/Relative_luminance\n// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n@function luminance($color) {\n $rgb: (\n \"r\": red($color),\n \"g\": green($color),\n \"b\": blue($color)\n );\n\n @each $name, $value in $rgb {\n $value: if($value / 255 < .03928, $value / 255 / 12.92, nth($_luminance-list, $value + 1));\n $rgb: map-merge($rgb, ($name: $value));\n }\n\n @return (map-get($rgb, \"r\") * .2126) + (map-get($rgb, \"g\") * .7152) + (map-get($rgb, \"b\") * .0722);\n}\n\n// Return opaque color\n// opaque(#fff, rgba(0, 0, 0, .5)) => #808080\n@function opaque($background, $foreground) {\n @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100);\n}\n\n// Request a color level\n// scss-docs-start color-level\n@function color-level($color: $primary, $level: 0) {\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n// scss-docs-end color-level\n\n@function tint-color($color, $level) {\n @return mix(white, $color, $level * $theme-color-interval);\n}\n\n@function shade-color($color, $level) {\n @return mix(black, $color, $level * $theme-color-interval);\n}\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n","//\n// Form text\n//\n\n.form-text {\n margin-top: $form-text-margin-top;\n @include font-size($form-text-font-size);\n font-style: $form-text-font-style;\n font-weight: $form-text-font-weight;\n color: $form-text-color;\n}\n","//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n min-height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n appearance: none; // Fix appearance for date inputs in Safari\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: $input-padding-y;\n}\n\n.form-control-color::-moz-color-swatch {\n @include border-radius($input-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n @include border-radius($input-border-radius);\n}\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: block;\n width: 100%;\n height: $form-select-height;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background-color: $form-select-bg;\n background-image: escape-svg($form-select-indicator);\n background-repeat: no-repeat;\n background-position: $form-select-bg-position;\n background-size: $form-select-bg-size;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($form-select-box-shadow, $form-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $form-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n height: $form-select-height-sm;\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n height: $form-select-height-lg;\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-left * -1;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height\n vertical-align: top;\n background-color: $form-check-input-bg;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: $form-check-input-border;\n appearance: none;\n color-adjust: exact; // Keep themed appearance for print\n @include transition($form-check-transition);\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $form-check-radio-border-radius;\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-checked-bg-image), var(--bs-gradient);\n } @else {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n }\n\n &[type=\"radio\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-radio-checked-bg-image), var(--bs-gradient);\n } @else {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n border-color: $form-check-input-indeterminate-border-color;\n\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--bs-gradient);\n } @else {\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n }\n }\n\n &:disabled {\n pointer-events: none;\n filter: none;\n opacity: .5;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .form-check-label {\n opacity: .5;\n }\n }\n}\n\n.form-check-label {\n color: $form-check-label-color;\n cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-position: left center;\n @include border-radius($form-switch-border-radius);\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-position: $form-switch-checked-bg-position;\n\n @if $enable-gradients {\n background-image: escape-svg($form-switch-checked-bg-image), var(--bs-gradient);\n } @else {\n background-image: escape-svg($form-switch-checked-bg-image);\n }\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n",".form-file {\n --bs-form-file-height: #{$form-file-height};\n position: relative;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: var(--bs-form-file-height);\n margin: 0;\n opacity: 0;\n\n &:focus-within ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-file-label .form-file-text,\n &:disabled ~ .form-file-label .form-file-text {\n background-color: $form-file-disabled-bg;\n border-color: $form-file-disabled-border-color;\n }\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: var(--bs-form-file-height);\n border-color: $form-file-border-color;\n @include border-radius($form-file-border-radius);\n @include box-shadow($form-file-box-shadow);\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: $form-file-padding-y $form-file-padding-x;\n overflow: hidden;\n font-family: $form-file-font-family;\n font-weight: $form-file-font-weight;\n line-height: $form-file-line-height;\n color: $form-file-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: $form-file-bg;\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-left-radius(inherit);\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: $form-file-padding-y $form-file-padding-x;\n margin-left: -$form-file-border-width;\n line-height: $form-file-line-height;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-right-radius(inherit);\n}\n\n.form-file-sm {\n --bs-form-file-height: #{$form-file-height-sm};\n @include font-size($form-file-font-size-sm);\n\n .form-file-text,\n .form-file-button {\n padding: $form-file-padding-y-sm $form-file-padding-x-sm;\n }\n}\n\n.form-file-lg {\n --bs-form-file-height: #{$form-file-height-lg};\n @include font-size($form-file-font-size-lg);\n\n .form-file-text,\n .form-file-button {\n padding: $form-file-padding-y-lg $form-file-padding-x-lg;\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--bs-gradient);\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $form-range-thumb-height / 2;\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-ms-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n","//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .form-file {\n > .form-file-input:focus {\n z-index: 4;\n }\n\n &:not(:last-child) > .form-file-label {\n @include border-right-radius(0);\n }\n\n &:not(:first-child) > .form-file-label {\n @include border-left-radius(0);\n }\n }\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n @include font-size($input-font-size); // Match inputs\n font-weight: $input-group-addon-font-weight;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control {\n min-height: $input-height-lg;\n}\n\n.input-group-lg > .form-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control {\n min-height: $input-height-sm;\n}\n\n.input-group-sm > .form-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.input-group {\n > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 3) {\n @include border-right-radius(0);\n }\n\n > :not(:first-child):not(.dropdown-menu) {\n margin-left: -$input-border-width;\n @include border-left-radius(0);\n }\n}\n","// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n font-style: $form-feedback-font-style;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-contrast($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, $input-btn-focus-color-opacity);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background-image: escape-svg($form-select-indicator), escape-svg($icon);\n background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n background-color: $color;\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n // custom file\n .form-file-input {\n @include form-validation-state-selector($state) {\n ~ .form-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .form-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-line-height;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-button-pointers, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n .btn-check:focus + &,\n &:focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n pointer-events: none;\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant(\n $background,\n $border,\n $color: color-contrast($background),\n $hover-background: if($color == $color-contrast-light, darken($background, 7.5%), lighten($background, 7.5%)),\n $hover-border: if($color == $color-contrast-light, darken($border, 10%), lighten($border, 5%)),\n $hover-color: color-contrast($hover-background),\n $active-background: if($color == $color-contrast-light, darken($background, 10%), lighten($background, 10%)),\n $active-border: if($color == $color-contrast-light, darken($border, 12.5%), lighten($border, 5%)),\n $active-color: color-contrast($active-background),\n $disabled-background: $background,\n $disabled-border: $border,\n $disabled-color: color-contrast($disabled-background)\n) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n .show > &.dropdown-toggle {\n color: $active-color;\n background-color: $active-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $disabled-color;\n background-color: $disabled-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $disabled-border;\n }\n}\n\n@mixin button-outline-variant(\n $color,\n $color-hover: color-contrast($color),\n $active-background: $color,\n $active-border: $color,\n $active-color: color-contrast($active-background)\n) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n &.dropdown-toggle.show {\n color: $active-color;\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $color;\n background-color: transparent;\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n// scss-docs-start responsive-breakpoints\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n// scss-docs-end responsive-breakpoints\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n\n// Dark dropdowns\n.dropdown-menu-dark {\n color: $dropdown-dark-color;\n background-color: $dropdown-dark-bg;\n border-color: $dropdown-dark-border-color;\n @include box-shadow($dropdown-dark-box-shadow);\n\n .dropdown-item {\n color: $dropdown-dark-link-color;\n\n &:hover,\n &:focus {\n color: $dropdown-dark-link-hover-color;\n @include gradient-bg($dropdown-dark-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-dark-link-active-color;\n @include gradient-bg($dropdown-dark-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-dark-link-disabled-color;\n }\n }\n\n .dropdown-divider {\n border-color: $dropdown-dark-divider-bg;\n }\n\n .dropdown-item-text {\n color: $dropdown-dark-link-color;\n }\n\n .dropdown-header {\n color: $dropdown-dark-header-color;\n }\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n }\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n > .btn-check:checked + .btn,\n > .btn-check:focus + .btn,\n > .btn:hover,\n > .btn:focus,\n > .btn:active,\n > .btn.active {\n z-index: 1;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n // The left radius should be 0 if the button is:\n // - the \"third or more\" child\n // - the second child and the previous element isn't `.btn-check` (making it the first child visually)\n // - part of a btn-group which isn't the first child\n > .btn:nth-child(n + 3),\n > :not(.btn-check) + .btn,\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n @include font-size($nav-link-font-size);\n font-weight: $nav-link-font-weight;\n color: $nav-link-color;\n text-decoration: if($link-decoration == none, null, none);\n @include transition($nav-link-transition);\n\n &:hover,\n &:focus {\n color: $nav-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n margin-bottom: -$nav-tabs-border-width;\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n @include gradient-bg($nav-pills-link-active-bg);\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding-top: $navbar-padding-y;\n padding-right: $navbar-padding-x; // default: null\n padding-bottom: $navbar-padding-y;\n padding-left: $navbar-padding-x; // default: null\n @include gradient-bg();\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n // The `flex-wrap` property is inherited to simplify the expanded navbars\n %container-flex-properties {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-brand-margin-right;\n @include font-size($navbar-brand-font-size);\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n width: 100%;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n @include transition($navbar-toggler-transition);\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 $navbar-toggler-focus-width;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n // stylelint-disable-next-line scss/selector-no-union-class-name\n &#{$infix} {\n @include media-breakpoint-up($next) {\n flex-wrap: nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-y $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-title-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-title-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-cap-padding-y $card-cap-padding-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-cap-padding-y $card-cap-padding-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-cap-padding-x / 2;\n margin-bottom: -$card-cap-padding-y;\n margin-left: -$card-cap-padding-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-cap-padding-x / 2;\n margin-left: -$card-cap-padding-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n overflow-anchor: none;\n\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n display: flex;\n\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n @include transition($pagination-transition);\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n color: $pagination-focus-color;\n background-color: $pagination-focus-bg;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n @include gradient-bg($pagination-active-bg);\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include gradient-bg();\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $alert-dismissible-padding-r;\n\n // Adjust close link position\n .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y * 1.25 $alert-padding-x;\n }\n}\n\n\n// scss-docs-start alert-modifiers\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(color-level($value, $alert-bg-level), color-level($value, $alert-border-level), color-level($value, $alert-color-level));\n }\n}\n// scss-docs-end alert-modifiers\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// scss-docs-start list-group-modifiers\n// List group contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, color-level($value, $list-group-item-bg-level), color-level($value, $list-group-item-color-level));\n}\n// scss-docs-end list-group-modifiers\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n","// transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n.btn-close {\n box-sizing: content-box;\n width: $btn-close-width;\n height: $btn-close-height;\n padding: $btn-close-padding-y $btn-close-padding-x;\n color: $btn-close-color;\n background: transparent escape-svg($btn-close-bg) no-repeat center center / $btn-close-width auto; // include transparent for button elements\n background-clip: content-box;\n border: 0; // for button elements\n @include border-radius();\n opacity: $btn-close-opacity;\n\n // Override <a>'s hover style\n &:hover {\n color: $btn-close-color;\n text-decoration: none;\n opacity: $btn-close-hover-opacity;\n }\n\n &:focus {\n outline: none;\n box-shadow: $btn-close-focus-shadow;\n opacity: $btn-close-focus-opacity;\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n user-select: none;\n opacity: $btn-close-disabled-opacity;\n }\n}\n\n.btn-close-white {\n filter: $btn-close-white-filter;\n}\n",".toast {\n max-width: $toast-max-width;\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n @include border-top-radius(subtract($toast-border-radius, $toast-border-width));\n\n .btn-close {\n margin-right: $toast-padding-x / -2;\n margin-left: $toast-padding-x;\n }\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: 100%;\n overflow: hidden;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .btn-close {\n padding: ($modal-header-padding-y / 2) ($modal-header-padding-x / 2);\n margin: ($modal-header-padding-y / -2) ($modal-header-padding-x / -2) ($modal-header-padding-y / -2) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n $postfix: if($infix != \"\", $infix + \"-down\", \"\");\n\n @include media-breakpoint-down($breakpoint) {\n .modal-fullscreen#{$postfix} {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n\n .modal-content {\n height: 100%;\n border: 0;\n @include border-radius(0);\n }\n\n .modal-header {\n @include border-radius(0);\n }\n\n .modal-body {\n overflow-y: auto;\n }\n\n .modal-footer {\n @include border-radius(0);\n }\n }\n }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n}\n.carousel-control-next {\n right: 0;\n background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: $carousel-caption-spacer;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: $carousel-caption-padding-y;\n padding-bottom: $carousel-caption-padding-y;\n color: $carousel-caption-color;\n text-align: center;\n}\n\n// Dark mode carousel\n\n.carousel-dark {\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n filter: $carousel-dark-control-icon-filter;\n }\n\n .carousel-indicators li {\n background-color: $carousel-dark-indicator-active-bg;\n }\n\n .carousel-caption {\n color: $carousel-dark-caption-color;\n }\n}\n","// scss-docs-start clearfix\n@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n// scss-docs-end clearfix\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: spinner-border $spinner-animation-speed linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow $spinner-animation-speed linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $emphasized-link-hover-darken-percentage != 0 {\n &:hover,\n &:focus {\n color: if(color-contrast($value) == $color-contrast-light, darken($value, $emphasized-link-hover-darken-percentage), lighten($value, $emphasized-link-hover-darken-percentage));\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.ratio {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n padding-top: var(--aspect-ratio);\n content: \"\";\n }\n\n > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n@each $key, $ratio in $aspect-ratios {\n .ratio-#{$key} {\n --aspect-ratio: #{$ratio};\n }\n}\n","// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n }\n}\n","//\n// Visually hidden\n//\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus) {\n @include visually-hidden();\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin visually-hidden-focusable() {\n &:not(:focus) {\n @include visually-hidden();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/_functions.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-variants.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-file.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_ratio.scss","../../scss/helpers/_position.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACLF;EAGI,kBAAiC;EAAjC,oBAAiC;EAAjC,oBAAiC;EAAjC,kBAAiC;EAAjC,iBAAiC;EAAjC,oBAAiC;EAAjC,oBAAiC;EAAjC,mBAAiC;EAAjC,kBAAiC;EAAjC,kBAAiC;EAAjC,gBAAiC;EAAjC,kBAAiC;EAAjC,uBAAiC;EAIjC,qBAAiC;EAAjC,uBAAiC;EAAjC,qBAAiC;EAAjC,kBAAiC;EAAjC,qBAAiC;EAAjC,oBAAiC;EAAjC,mBAAiC;EAAjC,kBAAiC;EAKnC,qNAAsD;EACtD,yGAAoD;EACpD,yFAAwC;ADiB1C;;AEhBA;;;EAGE,sBAAsB;AFmBxB;;AENI;ED/BJ;ICgCM,uBAAuB;EFU3B;AACF;;AEEA;EACE,SAAS;EACT,sCC+VsF;ECnJlF,eAvE+B;EFnInC,gBCyW+B;EDxW/B,gBC8W+B;ED7W/B,cCnCgB;EDqChB,sBC9Ca;ED+Cb,8BAA8B;EAC9B,6CCtCa;AHsCf;;AAEA;EEYE,qBAAqB;AFVvB;;AEmBA;EACE,cAAsB;EACtB,cC4YmC;ED3YnC,8BAA8B;EAC9B,SAAS;EACT,aC2Y+B;AH3ZjC;;AEmBA;EACE,WCmQ+B;AHnRjC;;AE0BA;EACE,aAAa;EACb,qBCmVuC;EDhVvC,gBCmV+B;EDlV/B,gBCmV+B;AH5WjC;;AE6BA;EEoJQ,iCAf6B;AJ9JrC;;AIWI;EFcJ;IE2JQ,iBAlF6B;EJ7FnC;AACF;;AEwBA;EE+IQ,iCAf6B;AJpJrC;;AICI;EFmBJ;IEsJQ,eAlF6B;EJnFnC;AACF;;AEmBA;EE0IQ,+BAf6B;AJ1IrC;;AITI;EFwBJ;IEiJQ,kBAlF6B;EJzEnC;AACF;;AEcA;EEqIQ,iCAf6B;AJhIrC;;AInBI;EF6BJ;IE4IQ,iBAlF6B;EJ/DnC;AACF;;AESA;EE4HM,kBAvE+B;AJ1DrC;;AEUA;EEuHM,eAvE+B;AJtDrC;;AEiBA;EACE,aAAa;EACb,mBC8I8B;AH5JhC;;AEyBA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;AFtBhC;;AE4BA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AFzBtB;;AE+BA;;EAEE,kBAAkB;AF5BpB;;AE+BA;;;EAGE,aAAa;EACb,mBAAmB;AF5BrB;;AE+BA;;;;EAIE,gBAAgB;AF5BlB;;AE+BA;EACE,gBCuN+B;AHnPjC;;AEiCA;EACE,oBAAoB;EACpB,cAAc;AF9BhB;;AEoCA;EACE,gBAAgB;AFjClB;;AEyCA;;EAEE,mBCgMkC;AHtOpC;;AE8CA;EEuBM,kBAvE+B;AJMrC;;AEiDA;EACE,cCwPgC;EDvPhC,yBC+PmC;AH7SrC;;AEuDA;;EAEE,kBAAkB;EEGd,iBAvE+B;EFsEnC,cAAc;EACd,wBAAwB;AFpD1B;;AEuDA;EAAM,cAAc;AFnDpB;;AEoDA;EAAM,UAAU;AFhDhB;;AEqDA;EACE,cCpOe;EDqOf,0BCaiD;AH/DnD;;AEgDA;EAKI,cGzGiC;ALwDrC;;AE2DA;EAGI,cAAc;EACd,qBAAqB;AF1DzB;;AEiEA;;;;EAIE,qCC6GoF;ECpJhF,cAvE+B;AJiDrC;;AEuEA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EErDV,kBAvE+B;EF+HnC,6BAA6B;AFrE/B;;AE8DA;EEjDM,kBAvE+B;EFoIjC,cAAc;EACd,kBAAkB;AFrEtB;;AEyEA;EElEM,kBAvE+B;EF2InC,cC3Re;ED4Rf,qBAAqB;AFtEvB;;AEyEE;EACE,cAAc;AFtElB;;AE0EA;EACE,sBCo+BuC;ECljCnC,kBAvE+B;EFuJnC,WCpUa;EDqUb,yBC5TgB;EGEd,qBH4U+B;AHxFnC;;AEkEA;EAQI,UAAU;EErFR,cAvE+B;EF8JjC,gBCyE6B;AH/IjC;;AE+EA;EACE,gBAAgB;AF5ElB;;AEkFA;;EAEE,sBAAsB;AF/ExB;;AEuFA;EACE,oBAAoB;EACpB,yBAAyB;AFpF3B;;AEuFA;EACE,mBCkIiC;EDjIjC,sBCiIiC;EDhIjC,cCvWgB;EDwWhB,gBAAgB;AFpFlB;;AE2FA;EAEE,mBAAmB;EACnB,gCAAgC;AFzFlC;;AE4FA;;;;;;EAME,qBAAqB;EACrB,mBAAmB;EACnB,eAAe;AFzFjB;;AEiGA;EACE,qBAAqB;AF9FvB;;AEoGA;EAEE,gBAAgB;AFlGlB;;AEyGA;EACE,mBAAmB;EACnB,0CAA0C;AFtG5C;;AE2GA;;;;;EAKE,SAAS;EACT,oBAAoB;EEpLhB,kBAvE+B;EF6PnC,oBAAoB;AFxGtB;;AE6GA;;EAEE,iBAAiB;AF1GnB;;AE+GA;;EAEE,oBAAoB;AF5GtB;;AAEA;EEiHE,eAAe;AF/GjB;;AEqHA;EACE,iBAAiB;AFlHnB;;AAEA;EEuHE,aAAa;AFrHf;;AE6HA;;;;EAIE,0BAA0B;AF1H5B;;AEsHA;;;;EAQM,eAAe;AFvHrB;;AE8HA;EACE,UAAU;EACV,kBAAkB;AF3HpB;;AEgIA;EACE,gBAAgB;AF7HlB;;AEuIA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AFpIX;;AE6IA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBC9CiC;ECjO3B,iCAf6B;EFiSnC,oBAAoB;EACpB,mBAAmB;AF3IrB;;AI1SI;EF6aJ;IEpQQ,iBAlF6B;EJwNnC;AACF;;AE6HA;EAWI,WAAW;AFpIf;;AE2IA;;;;;;;EAOE,UAAU;AFxIZ;;AE2IA;EACE,YAAY;AFxId;;AAEA;EEgJE,oBAAoB;EACpB,6BAA6B;AF9I/B;;AEmJA;EACE,wBAAwB;AFhJ1B;;AEqJA;EACE,UAAU;AFlJZ;;AEwJA;EACE,aAAa;EACb,0BAA0B;AFrJ5B;;AE0JA;EACE,qBAAqB;AFvJvB;;AE4JA;EACE,SAAS;AFzJX;;AEgKA;EACE,kBAAkB;EAClB,eAAe;AF7JjB;;AEqKA;EACE,wBAAwB;AFlK1B;;AAEA;EEyKE,wBAAwB;AFvK1B;;AO1aA;EH+NM,kBAvE+B;EGtJnC,gBJ8a+B;AHDjC;;AOxaE;EH4NM,iCAf6B;EG3MjC,gBJkaqB;EIjarB,gBJoZ6B;AHuBjC;;AIpXI;EG1DF;IHmOM,eAlF6B;EJkSnC;AACF;;AOpbE;EH4NM,iCAf6B;EG3MjC,gBJkaqB;EIjarB,gBJoZ6B;AHmCjC;;AIhYI;EG1DF;IHmOM,iBAlF6B;EJ8SnC;AACF;;AOhcE;EH4NM,iCAf6B;EG3MjC,gBJkaqB;EIjarB,gBJoZ6B;AH+CjC;;AI5YI;EG1DF;IHmOM,eAlF6B;EJ0TnC;AACF;;AO5cE;EH4NM,iCAf6B;EG3MjC,gBJkaqB;EIjarB,gBJoZ6B;AH2DjC;;AIxZI;EG1DF;IHmOM,iBAlF6B;EJsUnC;AACF;;AOxdE;EH4NM,iCAf6B;EG3MjC,gBJkaqB;EIjarB,gBJoZ6B;AHuEjC;;AIpaI;EG1DF;IHmOM,eAlF6B;EJkVnC;AACF;;AOpeE;EH4NM,iCAf6B;EG3MjC,gBJkaqB;EIjarB,gBJoZ6B;AHmFjC;;AIhbI;EG1DF;IHmOM,iBAlF6B;EJ8VnC;AACF;;AO1dA;ECrDE,eAAe;EACf,gBAAgB;ARmhBlB;;AO1dA;EC1DE,eAAe;EACf,gBAAgB;ARwhBlB;;AO5dA;EACE,qBAAqB;AP+dvB;;AOheA;EAII,oBJqa+B;AH2DnC;;AOtdA;EH4KM,kBAvE+B;EGnGnC,yBAAyB;APyd3B;;AOrdA;EACE,mBJwJW;ECaP,kBAvE+B;AJ2XrC;;AO1dA;EAKI,gBAAgB;APydpB;;AOrdA;EACE,iBJ+IW;EI9IX,mBJ8IW;ECaP,kBAvE+B;EGlFnC,cJrFgB;AH6iBlB;;AO5dA;EAOI,qBAAqB;APydzB;;ASvjBA;ECIE,eAAe;EAGf,YAAY;AVqjBd;;AStjBA;EACE,gBNgsCwC;EM/rCxC,sBNRa;EMSb,yBNNgB;EGQd,sBH2UgC;EOlVlC,eAAe;EAGf,YAAY;AV8jBd;;AShjBA;EAEE,qBAAqB;ATkjBvB;;AS/iBA;EACE,qBAA0B;EAC1B,cAAc;ATkjBhB;;AS/iBA;ELqNM,kBAvE+B;EK5InC,cN3BgB;AH6kBlB;;AWplBE;;;;;;;ECHA,qBAAc;EAEd,WAAW;EACX,2CAA2C;EAC3C,0CAA0C;EAC1C,kBAAkB;EAClB,iBAAiB;AZgmBnB;;Aa1iBI;EF5CE;IACE,gBRwSG;EHkTT;AACF;;AahjBI;EF5CE;IACE,gBRySG;EHuTT;AACF;;AatjBI;EF5CE;IACE,gBR0SG;EH4TT;AACF;;Aa5jBI;EF5CE;IACE,iBR2SI;EHiUV;AACF;;AalkBI;EF5CE;IACE,iBR4SK;EHsUX;AACF;;AcloBE;ECAA,qBAAwC;EACxC,gBAAwC;EACxC,aAAa;EACb,eA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ACF;;AkBt4DA;EACE,qBf4mB2C;AH6xC7C;;AkBh4DA;EACE,iCbyK8D;EaxK9D,oCbwK8D;EavK9D,gBAAgB;Ed0OZ,kBAvE+B;Ec/JnC,gBf2Y+B;AHs/CjC;;AkB73DA;EACE,+Bb8J8D;Ea7J9D,kCb6J8D;EDmE1D,kBAvE+B;AJwuDrC;;AkB73DA;EACE,gCbwJ8D;EavJ9D,mCbuJ8D;EDmE1D,mBAvE+B;AJ8uDrC;;AmB95DA;EACE,mBhBsmB4C;EChXxC,kBAvE+B;Ee3KnC,chBIgB;AH25DlB;;AoBp6DA;EACE,cAAc;EACd,WAAW;EACX,uCfiL8D;EehL9D,yBjBkiBkC;EC/S9B,eAvE+B;EgBzKnC,gBjB+Y+B;EiB9Y/B,gBjBoZ+B;EiBnZ/B,cjBGgB;EiBFhB,sBjBPa;EiBQb,4BAA4B;EAC5B,yBjBLgB;EiBMhB,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;EdCd,sBH2UgC;EkB7U9B,wElBspB4F;AHmxClG;;AqBr6DM;EDhBN;ICiBQ,gBAAgB;ErBy6DtB;AACF;;AoB37DA;EAuBI,cjBXc;EiBYd,sBjBrBW;EiBsBX,qBf8HiC;Ee7HjC,UAAU;EAKR,kDjBFW;AHs6DjB;;AoBn8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApBi6Dd;;AoBx8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApBi6Dd;;AoBx8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApBi6Dd;;AoBx8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApBi6Dd;;AoBx8DA;EAiDI,yBjB5Cc;EiB+Cd,UAAU;ApBy5Dd;;AoBh5DA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EAChB,gBjB0V+B;EiBzV/B,cjBvDgB;EiBwDhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;ApBm5DrC;;AoB55DA;EAaI,gBAAgB;EAChB,eAAe;ApBm5DnB;;AoBx4DA;EACE,sCf6F8D;Ee5F9D,uBjBydiC;EC1T7B,mBAvE+B;EElKjC,qBH4U+B;AH2oDnC;;AoBx4DA;EACE,oCfsF8D;EerF9D,oBjBsdgC;EC9T5B,kBAvE+B;EElKjC,qBH6U+B;AHipDnC;;AoBx4DA;EACE,eAAe;EACf,iBjB+bmC;AH48CrC;;AoBx4DA;Ed3FI,sBH2UgC;AH4pDpC;;AoBx4DA;Ed/FI,sBH2UgC;AHgqDpC;;AsBx/DA;EACE,cAAc;EACd,WAAW;EACX,uCjBgL8D;EiB/K9D,0CnBiiBkC;EC/S9B,eAvE+B;EkBxKnC,gBnB8Y+B;EmB7Y/B,gBnBmZ+B;EmBlZ/B,cnBEgB;EmBDhB,sBAAsB;EACtB,sBnBTa;EmBUb,iPjBmEgF;EiBlEhF,4BAA4B;EAC5B,yCnBytBqE;EmBxtBrE,0BnBytB2C;EmBxtB3C,yBnBVgB;EGOd,sBH2UgC;EmBrUlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AtBy/DlB;;AsB5gEA;EAsBI,qBjBgIiC;EiB/HjC,UAAU;EAKR,kDnBAW;AHs/DjB;;AsBlhEA;EAqCM,cnB1BY;EmB2BZ,sBnBpCS;AHqhEf;;AsBvhEA;EA4CI,YAAY;EACZ,sBnBwfgC;EmBvfhC,sBAAsB;AtB++D1B;;AsB7hEA;EAkDI,cnB1Cc;EmB2Cd,yBnB/Cc;AH8hElB;;AsBliEA;EAyDI,kBAAkB;EAClB,0BnB/Cc;AH4hElB;;AsBz+DA;EACE,kCjBoH8D;EiBnH9D,oBnB+ekC;EmB9elC,uBnB8ekC;EmB7elC,oBnB8eiC;EC1T7B,mBAvE+B;AJg4DrC;;AsBz+DA;EACE,gCjB4G8D;EiB3G9D,mBnB2eiC;EmB1ejC,sBnB0eiC;EmBzejC,kBnB0egC;EC9T5B,kBAvE+B;AJw4DrC;;AuBxjEA;EACE,cAAc;EACd,kBpBoqB2E;EoBnqB3E,mBpBoqBsE;EoBnqBtE,uBpBoqB+C;AHu5CjD;;AuB/jEA;EAOI,WAAW;EACX,mBAA0C;AvB4jE9C;;AuBxjEA;EACE,UpBwpB2C;EoBvpB3C,WpBupB2C;EoBtpB3C,kBAA6D;EAC7D,mBAAmB;EACnB,sBpBda;EoBeb,4BAA4B;EAC5B,2BAA2B;EAC3B,wBAAwB;EACxB,qCpB2pBoE;EoB1pBpE,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;EAChB,iCAAmB;EAAnB,mBAAmB;EFXf,mJlB+pBuK;AHw6C7K;;AqBnkEM;EEJN;IFKQ,gBAAgB;ErBukEtB;AACF;;AuB7kEA;EjBEI,qBHmqB2C;AH46C/C;;AuBjlEA;EAoBI,kBpBkpByC;AH+6C7C;;AuBrlEA;EAwBI,uBpByoBqD;AHw7CzD;;AuBzlEA;EA4BI,qBlB+GiC;EkB9GjC,UAAU;EACV,kDpBba;AH8kEjB;;AuB/lEA;EAkCI,yBpBjBa;EoBkBb,qBpBlBa;AHmlEjB;;AuBpmEA;EAyCQ,+OlB2B0E;ALoiElF;;AuBxmEA;EAiDQ,uJlBmB0E;ALwiElF;;AuB5mEA;EAuDI,yBpBtCa;EoBuCb,qBpBvCa;EoB4CX,yOlBO4E;AL8iElF;;AuBlnEA;EAkEI,oBAAoB;EACpB,YAAY;EACZ,YpBinByC;AHm8C7C;;AuBxnEA;EA4EM,YpBymBuC;AHu8C7C;;AuBliEA;EACE,mBpBgmByD;AHq8C3D;;AuBtiEA;EAII,UpB4lBiC;EoB3lBjC,mBAA2C;EAC3C,wKlB5B8E;EkB6B9E,gCAAgC;EjB/FhC,kBHwrBiC;AH88CrC;;AuB9iEA;EAWM,0JlBjC4E;ALwkElF;;AuBljEA;EAeM,iCpB2lBwC;EoBtlBtC,uJlB1C0E;AL6kElF;;AuB7hEA;EACE,qBAAqB;EACrB,kBpBglB0C;AHg9C5C;;AuB7hEA;EACE,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;AvBgiEtB;;AuBniEA;EAQM,oBAAoB;EACpB,YAAY;EACZ,apBqc2B;AH0lDjC;;AwBlrEA;EACE,kDAAwD;EACxD,kBAAkB;AxBqrEpB;;AwBlrEA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,kCAAoE;EACpE,SAAS;EACT,UAAU;AxBqrEZ;;AwB3rEA;EASI,qBnB6IiC;EmB5IjC,kDrBkBa;AHoqEjB;;AwBhsEA;;EAiBI,yBrBbc;AHisElB;;AwB/qEA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,aAAa;EACb,kCAAoE;EACpE,qBrBxBgB;EGOd,sBH2UgC;AHy3DpC;;AwB9qEA;EACE,cAAc;EACd,YAAY;EACZ,yBrB+fkC;EqB9flC,gBAAgB;EAEhB,gBrB4W+B;EqB3W/B,gBrBiX+B;EqBhX/B,crBhCgB;EqBiChB,uBAAuB;EACvB,mBAAmB;EACnB,sBrB5Ca;EqB6Cb,qBAAqB;EACrB,mBAAmB;EACnB,iBrBoS+B;EG1S7B,+BkBOiC;ElBNjC,kCkBMiC;AxBirErC;;AwB9qEA;EACE,cAAc;EACd,cAAc;EACd,yBrB6ekC;EqB5elC,iBrB4R+B;EqB3R/B,gBrBiW+B;EqBhW/B,crBhDgB;EsBbhB,yBtBMgB;EqByDhB,qBAAqB;EACrB,mBAAmB;EACnB,iBrBsR+B;EGxT7B,gCkBmCkC;ElBlClC,mCkBkCkC;AxBkrEtC;;AwB/qEA;EACE,iDAAwD;EpBkLpD,mBAvE+B;AJwkErC;;AwBprEA;;EAMI,uBrBue+B;AH4sDnC;;AwB/qEA;EACE,+CAAwD;EpBwKpD,kBAvE+B;AJklErC;;AwBprEA;;EAMI,oBrBie8B;AHktDlC;;A0BrwEA;EACE,WAAW;EACX,crB6K2B;EqB5K3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A1BwwElB;;A0B7wEA;EAQI,aAAa;A1BywEjB;;A0BjxEA;EAY8B,kEvBeb;AH0vEjB;;A0BrxEA;EAa8B,kEvBcb;AH8vEjB;;A0BzxEA;EAc8B,kEvBab;AHkwEjB;;A0B7xEA;EAkBI,SAAS;A1B+wEb;;A0BjyEA;EAsBI,WvBmvB2C;EuBlvB3C,YvBkvB2C;EuBjvB3C,oBAAqE;ED3BvE,yBtB8Be;EuBDb,SvBkvBwC;EGhwBxC,mBHiwB2C;EkBnwBzC,oHlBywBkI;EkBzwBlI,4GlBywBkI;EuBrvBpI,wBAAgB;EAAhB,gBAAgB;A1B8wEpB;;AqB9xEM;EKdN;ILeQ,wBAAgB;IAAhB,gBAAgB;ErBkyEtB;AACF;;A0BlzEA;EDHE,yBpBwJmC;ALiqErC;;A0BtzEA;EAsCI,WvB4tBkC;EuB3tBlC,cvB4tBmC;EuB3tBnC,kBAAkB;EAClB,evB2tBqC;EuB1tBrC,yBvBtCc;EuBuCd,yBAAyB;EpB/BzB,mBH0vBkC;AH0jDtC;;A0Bh0EA;EAiDI,WvBwtB2C;EuBvtB3C,YvButB2C;EsB5wB7C,yBtB8Be;EuByBb,SvBwtBwC;EGhwBxC,mBHiwB2C;EkBnwBzC,iHlBywBkI;EkBzwBlI,4GlBywBkI;EuB3tBpI,qBAAgB;EAAhB,gBAAgB;A1BkxEpB;;AqB5zEM;EKdN;ILeQ,qBAAgB;IAAhB,gBAAgB;ErBg0EtB;AACF;;A0Bh1EA;EDHE,yBpBwJmC;AL+rErC;;A0Bp1EA;EAgEI,WvBksBkC;EuBjsBlC,cvBksBmC;EuBjsBnC,kBAAkB;EAClB,evBisBqC;EuBhsBrC,yBvBhEc;EuBiEd,yBAAyB;EpBzDzB,mBH0vBkC;AHwlDtC;;A0B91EA;EA2EI,WvB8rB2C;EuB7rB3C,YvB6rB2C;EuB5rB3C,aAAa;EACb,qBvB2dkC;EuB1dlC,oBvB0dkC;EsB5iBpC,yBtB8Be;EuBsDb,SvB2rBwC;EGhwBxC,mBHiwB2C;EkBnwBzC,gHlBywBkI;EkBzwBlI,4GlBywBkI;EuB9rBpI,gBAAgB;A1BsxEpB;;AqB71EM;EKdN;ILeQ,oBAAgB;IAAhB,gBAAgB;ErBi2EtB;AACF;;A0Bj3EA;EDHE,yBpBwJmC;ALguErC;;A0Br3EA;EA6FI,WvBqqBkC;EuBpqBlC,cvBqqBmC;EuBpqBnC,kBAAkB;EAClB,evBoqBqC;EuBnqBrC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA0C;A1B4xE9C;;A0B/3EA;EAwGI,yBvBpGc;EGQd,mBH0vBkC;AH8nDtC;;A0Bp4EA;EA6GI,kBAAkB;EAClB,yBvB1Gc;EGQd,mBH0vBkC;AHooDtC;;A0B14EA;EAmHI,oBAAoB;A1B2xExB;;A0B94EA;EAsHM,yBvBhHY;AH44ElB;;A0Bl5EA;EA0HM,yBvBpHY;AHg5ElB;;A0Bt5EA;EA8HM,yBvBxHY;AHo5ElB;;A2B95EA;EACE,kBAAkB;A3Bi6EpB;;A2Bl6EA;;EAKI,0BtBiL4D;EsBhL5D,qBxBkiBgC;AHg4DpC;;A2Bx6EA;EAUI,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,YAAY;EACZ,qBxB0hBgC;EwBzhBhC,oBAAoB;EACpB,6BAA6C;EAC7C,qBAAqB;ENHnB,gElBgzB8E;AHsnDpF;;AqBl6EM;EMlBN;INmBQ,gBAAgB;ErBs6EtB;AACF;;A2B17EA;EAwBM,kBAAkB;A3Bs6ExB;;A2B97EA;EAwBM,kBAAkB;A3Bs6ExB;;A2B97EA;EAwBM,kBAAkB;A3Bs6ExB;;A2B97EA;EAwBM,kBAAkB;A3Bs6ExB;;A2B97EA;EA6BM,qBxB6xBoC;EwB5xBpC,wBxB6xBmC;AHwoDzC;;A2Bn8EA;EA6BM,qBxB6xBoC;EwB5xBpC,wBxB6xBmC;AHwoDzC;;A2Bn8EA;EAkCM,qBxBwxBoC;EwBvxBpC,wBxBwxBmC;AH6oDzC;;A2Bx8EA;EAwCI,qBxBkxBsC;EwBjxBtC,wBxBkxBqC;AHkpDzC;;A2B78EA;EAgDM,axB4wB+B;EwB3wB/B,8DxB4wB4E;AHupDlF;;A2Bp9EA;;;EAgDM,axB4wB+B;EwB3wB/B,8DxB4wB4E;AHupDlF;;A2Bp9EA;EAuDM,axBqwB+B;EwBpwB/B,8DxBqwB4E;AH4pDlF;;A2Bt5E+B;EAnE/B;IAqEI,aAAa;IACb,8BAA8B;E3By5EhC;E2B/9EF;IAyEI,gBAAgB;IAChB,UAAU;IACV,6BAAoD;IACpD,SAAS;IN9DP,gBM+DsB;E3By5E1B;E2Bv5EA;IACE,cxBrEc;EH89EhB;AACF;;A4Bx+EA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,WAAW;A5B2+Eb;;A4Bh/EA;;;EAUI,kBAAkB;EAClB,cAAc;EACd,SAAS;EACT,YAAY;A5B4+EhB;;A4Bz/EA;;;EAoBI,UAAU;A5B2+Ed;;A4B//EA;EA0BM,UAAU;A5By+EhB;;A4BngFA;EtB8BI,0BsBAgC;EtBChC,6BsBDgC;A5B0+EpC;;A4BxgFA;EtB4CI,yBsBV+B;EtBW/B,4BsBX+B;A5B2+EnC;;A4B7gFA;EA0CI,kBAAkB;EAClB,UAAU;A5Bu+Ed;;A4BlhFA;EA8CM,UAAU;A5Bw+EhB;;A4B79EA;EACE,aAAa;EACb,mBAAmB;EACnB,yBzB0ekC;EC/S9B,eAvE+B;EwBlHnC,gBzBwV+B;EyBvV/B,gBzB6V+B;EyB5V/B,czBpDgB;EyBqDhB,kBAAkB;EAClB,mBAAmB;EACnB,yBzB9DgB;EyB+DhB,yBzB7DgB;EGOd,sBH2UgC;AH4sEpC;;A4Bv9EA;EACE,oCvBqG8D;ALq3EhE;;A4Bv9EA;EACE,gCvBiG8D;ALy3EhE;;A4Bv9EA;;;;EAIE,oBzB2dgC;EC9T5B,kBAvE+B;EElKjC,qBH6U+B;AH2tEnC;;A4Bv9EA;EACE,sCvBoF8D;ALs4EhE;;A4Bv9EA;EACE,kCvBgF8D;AL04EhE;;A4Bv9EA;;;;EAIE,uBzBsciC;EC1T7B,mBAvE+B;EElKjC,qBH4U+B;AH6uEnC;;A4Bv9EA;;EAEE,sBAAsE;A5B09ExE;;A4B/8EA;;EtB/FI,0BsBmGgC;EtBlGhC,6BsBkGgC;A5Bi9EpC;;A4Br9EA;;EtB/FI,0BsB0GgC;EtBzGhC,6BsByGgC;A5Bg9EpC;;A4B39EA;EAqBI,iBzBoM6B;EG1S7B,yBsBuG6B;EtBtG7B,4BsBsG6B;A5B28EjC;;A4B78E8D;ECpI1D,aAAa;EACb,WAAW;EACX,mB1BwlB0C;EChXxC,kBAvE+B;EyB9JjC,c1BkBa;AHkkFjB;;A4Br9E0C;EC3HtC,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uB1BggC2C;E0B//B3C,iBAAiB;EzB2Nf,mBAvE+B;EyBjJjC,W1B5BW;E0B6BX,wC1BIa;EGtBb,sBH2UgC;AH2xEpC;;A6BpnFI;;;;EAuCE,cAAc;A7BolFpB;;A6B3nFI;EA6CE,qB1BTW;E0BYT,oCxBoIwD;EwBnIxD,4PxB+B0E;EwB9B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gExBgIwD;ALg9EhE;;A6BpoFI;EAwDI,qB1BpBS;E0BqBT,iD1BrBS;AHqmFjB;;A6BzoFI;EAkEI,oCxBkHwD;EwBjHxD,kFxBiHwD;AL09EhE;;A6B9oFI;EA0EE,qB1BtCW;E0ByCT,uCxBuGwD;EwBtGxD,6dxBE0E;EwBD1E,+D1B+pBwG;E0B9pBxG,2ExBoGwD;ALk+EhE;;A6BtpFI;EAoFI,qB1BhDS;E0BiDT,iD1BjDS;AHunFjB;;A6B3pFI;EA4FE,qB1BxDW;AH2nFjB;;A6B/pFI;EA+FI,yB1B3DS;AH+nFjB;;A6BnqFI;EAmGI,iD1B/DS;AHmoFjB;;A6BvqFI;EAuGI,c1BnES;AHuoFjB;;A6BhkFE;EAEI,iBAAiB;A7BkkFvB;;A6B/qFI;EAqHI,qB1BjFS;AH+oFjB;;A6BnrFI;EA0HM,qB1BtFO;E0BuFP,iD1BvFO;AHopFjB;;A4BviFyG;ECpIrG,aAAa;EACb,WAAW;EACX,mB1BwlB0C;EChXxC,kBAvE+B;EyB9JjC,c1Bea;AH+pFjB;;A4B/iFmF;EC3H/E,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uB1BggC2C;E0B//B3C,iBAAiB;EzB2Nf,mBAvE+B;EyBjJjC,W1B5BW;E0B6BX,wC1BCa;EGnBb,sBH2UgC;AHq3EpC;;A6B9sFI;;;;EAuCE,cAAc;A7B8qFpB;;A6BrtFI;EA6CE,qB1BZW;E0BeT,oCxBoIwD;EwBnIxD,4UxB+B0E;EwB9B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gExBgIwD;AL0iFhE;;A6B9tFI;EAwDI,qB1BvBS;E0BwBT,iD1BxBS;AHksFjB;;A6BnuFI;EAkEI,oCxBkHwD;EwBjHxD,kFxBiHwD;ALojFhE;;A6BxuFI;EA0EE,qB1BzCW;E0B4CT,uCxBuGwD;EwBtGxD,6iBxBE0E;EwBD1E,+D1B+pBwG;E0B9pBxG,2ExBoGwD;AL4jFhE;;A6BhvFI;EAoFI,qB1BnDS;E0BoDT,iD1BpDS;AHotFjB;;A6BrvFI;EA4FE,qB1B3DW;AHwtFjB;;A6BzvFI;EA+FI,yB1B9DS;AH4tFjB;;A6B7vFI;EAmGI,iD1BlES;AHguFjB;;A6BjwFI;EAuGI,c1BtES;AHouFjB;;A6B1pFE;EAEI,iBAAiB;A7B4pFvB;;A6BzwFI;EAqHI,qB1BpFS;AH4uFjB;;A6B7wFI;EA0HM,qB1BzFO;E0B0FP,iD1B1FO;AHivFjB;;A8BlxFA;EACE,qBAAqB;EAErB,gB3BmZ+B;E2BlZ/B,gB3BwZ+B;E2BvZ/B,c3BOgB;E2BNhB,kBAAkB;EAClB,qBAAwD;EAExD,sBAAsB;EACtB,eAA2C;EAC3C,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;EC0G3C,yB5B+akC;EC/S9B,eAvE+B;EElKjC,sBH2UgC;EkB7U9B,qIlBslB6I;AHksEnJ;;AqBpxFM;EShBN;ITiBQ,gBAAgB;ErBwxFtB;AACF;;A8B1yFA;EAkBI,c3BNc;AHkyFlB;;A8BxxFE;EAEE,UAAU;EACV,kD3BIa;AHsxFjB;;A8BnzFA;;EA0CI,oBAAoB;EACpB,a3ByiB6B;AHquEjC;;A8BnwFE;ECvCA,W5BZa;EsBJb,yBtB8Be;E4BZf,qB5BYe;AHkyFjB;;A+B3yFE;EACE,W5BlBW;EsBJb,yBpB6JmC;E0BrIjC,qB1BqIiC;ALyqFrC;;A+B3yFE;EAEE,W5BzBW;EsBJb,yBpB6JmC;E0B9HjC,qB1B8HiC;E0BzH/B,iDAAiE;A/ByyFvE;;A+BryFE;;;EAKE,W5BzCW;E4B0CX,yB1B+GiC;E0B5GjC,qB1B4GiC;ALwrFrC;;A+B7yFE;;;EAgBM,iDAAiE;A/BmyFzE;;A+B9xFE;EAEE,W5B3DW;E4B4DX,yB5BlCa;E4BqCb,qB5BrCa;AHm0FjB;;A8B1yFE;ECvCA,W5BZa;EsBJb,yBtBUgB;E4BQhB,qB5BRgB;AH61FlB;;A+Bl1FE;EACE,W5BlBW;EsBJb,yBpB6JmC;E0BrIjC,qB1BqIiC;ALgtFrC;;A+Bl1FE;EAEE,W5BzBW;EsBJb,yBpB6JmC;E0B9HjC,qB1B8HiC;E0BzH/B,kDAAiE;A/Bg1FvE;;A+B50FE;;;EAKE,W5BzCW;E4B0CX,yB1B+GiC;E0B5GjC,qB1B4GiC;AL+tFrC;;A+Bp1FE;;;EAgBM,kDAAiE;A/B00FzE;;A+Br0FE;EAEE,W5B3DW;E4B4DX,yB5BtDc;E4ByDd,qB5BzDc;AH83FlB;;A8Bj1FE;ECvCA,W5BZa;EsBJb,yBtBqCe;E4BnBf,qB5BmBe;AHy2FjB;;A+Bz3FE;EACE,W5BlBW;EsBJb,yBpB6JmC;E0BrIjC,qB1BqIiC;ALuvFrC;;A+Bz3FE;EAEE,W5BzBW;EsBJb,yBpB6JmC;E0B9HjC,qB1B8HiC;E0BzH/B,iDAAiE;A/Bu3FvE;;A+Bn3FE;;;EAKE,W5BzCW;E4B0CX,yB1B+GiC;E0B5GjC,qB1B4GiC;ALswFrC;;A+B33FE;;;EAgBM,iDAAiE;A/Bi3FzE;;A+B52FE;EAEE,W5B3DW;E4B4DX,yB5B3Ba;E4B8Bb,qB5B9Ba;AH04FjB;;A8Bx3FE;ECvCA,W5BFa;EsBdb,yBtBuCe;E4BrBf,qB5BqBe;AH84FjB;;A+Bh6FE;EACE,W5BRW;EsBdb,yBpBwJmC;E0BhIjC,qB1BgIiC;ALmyFrC;;A+Bh6FE;EAEE,W5BfW;EsBdb,yBpBwJmC;E0BzHjC,qB1ByHiC;E0BpH/B,iDAAiE;A/B85FvE;;A+B15FE;;;EAKE,W5B/BW;E4BgCX,yB1B0GiC;E0BvGjC,qB1BuGiC;ALkzFrC;;A+Bl6FE;;;EAgBM,iDAAiE;A/Bw5FzE;;A+Bn5FE;EAEE,W5BjDW;E4BkDX,yB5BzBa;E4B4Bb,qB5B5Ba;AH+6FjB;;A8B/5FE;ECvCA,W5BFa;EsBdb,yBtBoCe;E4BlBf,qB5BkBe;AHw7FjB;;A+Bv8FE;EACE,W5BRW;EsBdb,yBpBwJmC;E0BhIjC,qB1BgIiC;AL00FrC;;A+Bv8FE;EAEE,W5BfW;EsBdb,yBpBwJmC;E0BzHjC,qB1ByHiC;E0BpH/B,gDAAiE;A/Bq8FvE;;A+Bj8FE;;;EAKE,W5B/BW;E4BgCX,yB1B0GiC;E0BvGjC,qB1BuGiC;ALy1FrC;;A+Bz8FE;;;EAgBM,gDAAiE;A/B+7FzE;;A+B17FE;EAEE,W5BjDW;E4BkDX,yB5B5Ba;E4B+Bb,qB5B/Ba;AHy9FjB;;A8Bt8FE;ECvCA,W5BZa;EsBJb,yBtBkCe;E4BhBf,qB5BgBe;AHi+FjB;;A+B9+FE;EACE,W5BlBW;EsBJb,yBpB6JmC;E0BrIjC,qB1BqIiC;AL42FrC;;A+B9+FE;EAEE,W5BzBW;EsBJb,yBpB6JmC;E0B9HjC,qB1B8HiC;E0BzH/B,gDAAiE;A/B4+FvE;;A+Bx+FE;;;EAKE,W5BzCW;E4B0CX,yB1B+GiC;E0B5GjC,qB1B4GiC;AL23FrC;;A+Bh/FE;;;EAgBM,gDAAiE;A/Bs+FzE;;A+Bj+FE;EAEE,W5B3DW;E4B4DX,yB5B9Ba;E4BiCb,qB5BjCa;AHkgGjB;;A8B7+FE;ECvCA,W5BFa;EsBdb,yBtBKgB;E4BahB,qB5BbgB;AHqiGlB;;A+BrhGE;EACE,W5BRW;EsBdb,yBpBwJmC;E0BhIjC,qB1BgIiC;ALw5FrC;;A+BrhGE;EAEE,W5BfW;EsBdb,yBpBwJmC;E0BzHjC,qB1ByHiC;E0BpH/B,kDAAiE;A/BmhGvE;;A+B/gGE;;;EAKE,W5B/BW;E4BgCX,yB1B0GiC;E0BvGjC,qB1BuGiC;ALu6FrC;;A+BvhGE;;;EAgBM,kDAAiE;A/B6gGzE;;A+BxgGE;EAEE,W5BjDW;E4BkDX,yB5B3Dc;E4B8Dd,qB5B9Dc;AHskGlB;;A8BphGE;ECvCA,W5BZa;EsBJb,yBtBagB;E4BKhB,qB5BLgB;AHokGlB;;A+B5jGE;EACE,W5BlBW;EsBJb,yBpB6JmC;E0BrIjC,qB1BqIiC;AL07FrC;;A+B5jGE;EAEE,W5BzBW;EsBJb,yBpB6JmC;E0B9HjC,qB1B8HiC;E0BzH/B,+CAAiE;A/B0jGvE;;A+BtjGE;;;EAKE,W5BzCW;E4B0CX,yB1B+GiC;E0B5GjC,qB1B4GiC;ALy8FrC;;A+B9jGE;;;EAgBM,+CAAiE;A/BojGzE;;A+B/iGE;EAEE,W5B3DW;E4B4DX,yB5BnDc;E4BsDd,qB5BtDc;AHqmGlB;;A8BrjGE;ECiBA,c5BhDe;E4BiDf,qB5BjDe;AHylGjB;;A+BtiGE;EACE,W5B9EW;E4B+EX,yB5BrDa;E4BsDb,qB5BtDa;AH+lGjB;;A+BtiGE;EAEE,iD5B3Da;AHmmGjB;;A+BriGE;;EAKE,W5B7FW;E4B8FX,yB5BpEa;E4BqEb,qB5BrEa;AH0mGjB;;A+B5iGE;;EAcM,iD5B5ES;AH+mGjB;;A+B9hGE;EAEE,c5BnFa;E4BoFb,6BAA6B;A/BgiGjC;;A8BrlGE;ECiBA,c5BpEgB;E4BqEhB,qB5BrEgB;AH6oGlB;;A+BtkGE;EACE,W5B9EW;E4B+EX,yB5BzEc;E4B0Ed,qB5B1Ec;AHmpGlB;;A+BtkGE;EAEE,kD5B/Ec;AHupGlB;;A+BrkGE;;EAKE,W5B7FW;E4B8FX,yB5BxFc;E4ByFd,qB5BzFc;AH8pGlB;;A+B5kGE;;EAcM,kD5BhGU;AHmqGlB;;A+B9jGE;EAEE,c5BvGc;E4BwGd,6BAA6B;A/BgkGjC;;A8BrnGE;ECiBA,c5BzCe;E4B0Cf,qB5B1Ce;AHkpGjB;;A+BtmGE;EACE,W5B9EW;E4B+EX,yB5B9Ca;E4B+Cb,qB5B/Ca;AHwpGjB;;A+BtmGE;EAEE,gD5BpDa;AH4pGjB;;A+BrmGE;;EAKE,W5B7FW;E4B8FX,yB5B7Da;E4B8Db,qB5B9Da;AHmqGjB;;A+B5mGE;;EAcM,gD5BrES;AHwqGjB;;A+B9lGE;EAEE,c5B5Ea;E4B6Eb,6BAA6B;A/BgmGjC;;A8BrpGE;ECiBA,c5BvCe;E4BwCf,qB5BxCe;AHgrGjB;;A+BtoGE;EACE,W5BpEW;E4BqEX,yB5B5Ca;E4B6Cb,qB5B7Ca;AHsrGjB;;A+BtoGE;EAEE,iD5BlDa;AH0rGjB;;A+BroGE;;EAKE,W5BnFW;E4BoFX,yB5B3Da;E4B4Db,qB5B5Da;AHisGjB;;A+B5oGE;;EAcM,iD5BnES;AHssGjB;;A+B9nGE;EAEE,c5B1Ea;E4B2Eb,6BAA6B;A/BgoGjC;;A8BrrGE;ECiBA,c5B1Ce;E4B2Cf,qB5B3Ce;AHmtGjB;;A+BtqGE;EACE,W5BpEW;E4BqEX,yB5B/Ca;E4BgDb,qB5BhDa;AHytGjB;;A+BtqGE;EAEE,gD5BrDa;AH6tGjB;;A+BrqGE;;EAKE,W5BnFW;E4BoFX,yB5B9Da;E4B+Db,qB5B/Da;AHouGjB;;A+B5qGE;;EAcM,gD5BtES;AHyuGjB;;A+B9pGE;EAEE,c5B7Ea;E4B8Eb,6BAA6B;A/BgqGjC;;A8BrtGE;ECiBA,c5B5Ce;E4B6Cf,qB5B7Ce;AHqvGjB;;A+BtsGE;EACE,W5B9EW;E4B+EX,yB5BjDa;E4BkDb,qB5BlDa;AH2vGjB;;A+BtsGE;EAEE,gD5BvDa;AH+vGjB;;A+BrsGE;;EAKE,W5B7FW;E4B8FX,yB5BhEa;E4BiEb,qB5BjEa;AHswGjB;;A+B5sGE;;EAcM,gD5BxES;AH2wGjB;;A+B9rGE;EAEE,c5B/Ea;E4BgFb,6BAA6B;A/BgsGjC;;A8BrvGE;ECiBA,c5BzEgB;E4B0EhB,qB5B1EgB;AHkzGlB;;A+BtuGE;EACE,W5BpEW;E4BqEX,yB5B9Ec;E4B+Ed,qB5B/Ec;AHwzGlB;;A+BtuGE;EAEE,kD5BpFc;AH4zGlB;;A+BruGE;;EAKE,W5BnFW;E4BoFX,yB5B7Fc;E4B8Fd,qB5B9Fc;AHm0GlB;;A+B5uGE;;EAcM,kD5BrGU;AHw0GlB;;A+B9tGE;EAEE,c5B5Gc;E4B6Gd,6BAA6B;A/BguGjC;;A8BrxGE;ECiBA,c5BjEgB;E4BkEhB,qB5BlEgB;AH00GlB;;A+BtwGE;EACE,W5B9EW;E4B+EX,yB5BtEc;E4BuEd,qB5BvEc;AHg1GlB;;A+BtwGE;EAEE,+C5B5Ec;AHo1GlB;;A+BrwGE;;EAKE,W5B7FW;E4B8FX,yB5BrFc;E4BsFd,qB5BtFc;AH21GlB;;A+B5wGE;;EAcM,+C5B7FU;AHg2GlB;;A+B9vGE;EAEE,c5BpGc;E4BqGd,6BAA6B;A/BgwGjC;;A8B1yGA;EACE,gB3B8U+B;E2B7U/B,c3B5Ce;E2B6Cf,0B3BqMiD;AHwmGnD;;A8BhzGA;EAMI,czB+EiC;AL+tGrC;;A8BpzGA;EAgBI,c3B9Ec;AHs3GlB;;A8B7xGA;ECqBE,oB5B8bgC;EC9T5B,kBAvE+B;EElKjC,qBH6U+B;AH0iGnC;;A8B/xGA;ECiBE,uB5B0biC;EC1T7B,mBAvE+B;EElKjC,qBH4U+B;AHijGnC;;A8B5xGA;EACE,cAAc;EACd,WAAW;A9B+xGb;;A8BjyGA;EAMI,kB3Bse+B;AHyzFnC;;AgCx5GA;EXgBM,gClBwW2C;AHoiGjD;;AqBx4GM;EWpBN;IXqBQ,gBAAgB;ErB44GtB;AACF;;AgCl6GA;EAII,UAAU;AhCk6Gd;;AgC95GA;EAEI,aAAa;AhCg6GjB;;AgC55GA;EACE,SAAS;EACT,gBAAgB;EXAZ,6BlByWwC;AHujG9C;;AqB55GM;EWNN;IXOQ,gBAAgB;ErBg6GtB;AACF;;AiCr7GA;;;;EAIE,kBAAkB;AjCw7GpB;;A4B1zGuB;EK1HrB,mBAAmB;AjCw7GrB;;AkCp6GI;EACE,qBAAqB;EACrB,oB/BsV0C;E+BrV1C,uB/BoV0C;E+BnV1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;AlCw8G7C;;AkCn5GI;EACE,cAAc;AlCs5GpB;;A4B70G6C;EKlH3C,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,a9B80BsC;E8B70BtC,aAAa;EACb,gB9B25BuC;E8B15BvC,iB9B25BmC;E8B15BnC,oBAA4B;E7BmOxB,eAvE+B;E6B1JnC,c9BVgB;E8BWhB,gBAAgB;EAChB,gBAAgB;EAChB,sB9BtBa;E8BuBb,4BAA4B;EAC5B,qC9Bda;EGCX,sBH2UgC;AHsoGpC;;AiC17GI;EACE,WAAW;EACX,OAAO;AjC67Gb;;AiC17GI;EACE,QAAQ;EACR,UAAU;AjC67GhB;;Aa96GI;EoBtBA;IACE,WAAW;IACX,OAAO;EjCw8GX;EiCr8GE;IACE,QAAQ;IACR,UAAU;EjCu8Gd;AACF;;Aaz7GI;EoBtBA;IACE,WAAW;IACX,OAAO;EjCm9GX;EiCh9GE;IACE,QAAQ;IACR,UAAU;EjCk9Gd;AACF;;Aap8GI;EoBtBA;IACE,WAAW;IACX,OAAO;EjC89GX;EiC39GE;IACE,QAAQ;IACR,UAAU;EjC69Gd;AACF;;Aa/8GI;EoBtBA;IACE,WAAW;IACX,OAAO;EjCy+GX;EiCt+GE;IACE,QAAQ;IACR,UAAU;EjCw+Gd;AACF;;Aa19GI;EoBtBA;IACE,WAAW;IACX,OAAO;EjCo/GX;EiCj/GE;IACE,QAAQ;IACR,UAAU;EjCm/Gd;AACF;;AiC5+GA;EAEI,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uB9Bu3BuC;AHunF3C;;AkC9gHI;EACE,qBAAqB;EACrB,oB/BsV0C;E+BrV1C,uB/BoV0C;E+BnV1C,WAAW;EAzBf,aAAa;EACb,qCAA4C;EAC5C,0BAAiC;EACjC,oCAA2C;AlC2iH7C;;AkC7/GI;EACE,cAAc;AlCggHpB;;AiCr/GA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,qB9By2BuC;AH8oF3C;;AkCriHI;EACE,qBAAqB;EACrB,oB/BsV0C;E+BrV1C,uB/BoV0C;E+BnV1C,WAAW;EAlBf,mCAA0C;EAC1C,eAAe;EACf,sCAA6C;EAC7C,wBAA+B;AlC2jHjC;;AkCphHI;EACE,cAAc;AlCuhHpB;;AkCpjHI;EDoDE,iBAAiB;AjCogHvB;;AiC//GA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,sB9Bw1BuC;AHyqF3C;;AkChkHI;EACE,qBAAqB;EACrB,oB/BsV0C;E+BrV1C,uB/BoV0C;E+BnV1C,WAAW;AlCmkHjB;;AkCvkHI;EAgBI,aAAa;AlC2jHrB;;AkCxjHM;EACE,qBAAqB;EACrB,qB/BmUwC;E+BlUxC,uB/BiUwC;E+BhUxC,WAAW;EA9BjB,mCAA0C;EAC1C,yBAAgC;EAChC,sCAA6C;AlC0lH/C;;AkCzjHI;EACE,cAAc;AlC4jHpB;;AkCtkHM;EDkDA,iBAAiB;AjCwhHvB;;AiCjhHA;EAKI,WAAW;EACX,YAAY;AjCghHhB;;AiC3gHA;EACE,SAAS;EACT,gBAAoC;EACpC,gBAAgB;EAChB,yC9BvGa;AHqnHf;;AiCxgHA;EACE,cAAc;EACd,WAAW;EACX,qB9B6GW;E8B5GX,WAAW;EACX,gB9BuR+B;E8BtR/B,c9BpHgB;E8BqHhB,mBAAmB;EACnB,qBAAwD;EACxD,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;AjC2gHX;;AiCthHA;EA2BI,c5BOiC;EoB7JnC,yBtBKgB;AHipHlB;;AiC3hHA;EAkCI,W9BzJW;E8B0JX,qBAAqB;ER9JvB,yBtB8Be;AH8nHjB;;AiCjiHA;EAyCI,c9B1Jc;E8B2Jd,oBAAoB;EACpB,6BAA6B;AjC4/GjC;;AiCt/GA;EACE,cAAc;AjCy/GhB;;AiCr/GA;EACE,cAAc;EACd,oB9BwDW;E8BvDX,gBAAgB;E7BoEZ,mBAvE+B;E6BKnC,c9B5KgB;E8B6KhB,mBAAmB;AjCw/GrB;;AiCp/GA;EACE,cAAc;EACd,qB9B8CW;E8B7CX,c9BjLgB;AHwqHlB;;AiCn/GA;EACE,c9B5LgB;E8B6LhB,yB9BxLgB;E8ByLhB,iC9BvLa;AH6qHf;;AiCz/GA;EAOI,c9BlMc;AHwrHlB;;AiC7/GA;EAWM,W9BzMS;EsBJb,2CtBIa;AHgsHf;;AiClgHA;EAiBM,W9B/MS;EsBJb,yBtB8Be;AH2qHjB;;AiCvgHA;EAuBM,c9BhNY;AHosHlB;;AiC3gHA;EA4BI,iC9BhNW;AHmsHf;;AiC/gHA;EAgCI,c9B3Nc;AH8sHlB;;AiCnhHA;EAoCI,c9B7Nc;AHgtHlB;;AmCztHA;;EAEE,kBAAkB;EAClB,oBAAoB;EACpB,sBAAsB;AnC4tHxB;;AmChuHA;;EAOI,kBAAkB;EAClB,cAAc;AnC8tHlB;;AmCtuHA;;;;;;;;;;;;EAmBI,UAAU;AnCkuHd;;AmC7tHA;EACE,aAAa;EACb,eAAe;EACf,2BAA2B;AnCguH7B;;AmCnuHA;EAMI,WAAW;AnCiuHf;;AmC7tHA;;EAII,iBhCiT6B;AH66GjC;;AmCluHA;;E7BHI,0B6Ba8B;E7BZ9B,6B6BY8B;AnC8tHlC;;AmCxuHA;;;E7BWI,yB6BS6B;E7BR7B,4B6BQ6B;AnC2tHjC;;AmC3sHA;EACE,wBAAmC;EACnC,uBAAkC;AnC8sHpC;;AmChtHA;;;EAOI,cAAc;AnC+sHlB;;AmC5sHE;EACE,eAAe;AnC+sHnB;;AmC3sHA;EACE,uBAAsC;EACtC,sBAAqC;AnC8sHvC;;AmC3sHA;EACE,sBAAsC;EACtC,qBAAqC;AnC8sHvC;;AmC1rHA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;AnC6rHzB;;AmChsHA;;EAOI,WAAW;AnC8rHf;;AmCrsHA;;EAYI,gBhC2N6B;AHm+GjC;;AmC1sHA;;E7B1EI,6B6B4F+B;E7B3F/B,4B6B2F+B;AnC8rHnC;;AmChtHA;;E7BxFI,yB6B+G4B;E7B9G5B,0B6B8G4B;AnC+rHhC;;AoCp0HA;EACE,aAAa;EACb,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;ApCu0HlB;;AoCp0HA;EACE,cAAc;EACd,oBjCg2BsC;EiC51BtC,qBAAwD;EfHpD,uGlBo2BsH;AHo+F5H;;AqBp0HM;EePN;IfQQ,gBAAgB;ErBw0HtB;AACF;;AoCj1HA;EAiBI,cjCjBc;EiCkBd,oBAAoB;EACpB,eAAe;ApCo0HnB;;AoC5zHA;EACE,gCjC/BgB;AH81HlB;;AoCh0HA;EAII,mBjC8S6B;EiC7S7B,6BAAgD;E9BlBhD,+BHkUgC;EGjUhC,gCHiUgC;AHkhHpC;;AoCv0HA;EAUM,qCjCxCY;AHy2HlB;;AoC30HA;EAcM,cjCzCY;EiC0CZ,6BAA6B;EAC7B,yBAAyB;ApCi0H/B;;AoCj1HA;;EAsBI,cjChDc;EiCiDd,sBjCxDW;EiCyDX,kCjCzDW;AHy3Hf;;AoCx1HA;EA6BI,gBjCqR6B;EG/T7B,yB8B4C4B;E9B3C5B,0B8B2C4B;ApC+zHhC;;AoCtzHA;E9B9DI,sBH2UgC;AH6iHpC;;AoC1zHA;;EAOI,WjChFW;EsBJb,yBtB8Be;AH+2HjB;;AoC/yHA;;EAGI,cAAc;EACd,kBAAkB;ApCizHtB;;AoC7yHA;;EAGI,aAAa;EACb,YAAY;EACZ,kBAAkB;ApC+yHtB;;AoCtyHA;EAEI,aAAa;ApCwyHjB;;AoC1yHA;EAKI,cAAc;ApCyyHlB;;AqCr5HA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;EAC9B,mBlCg3B6C;EkC92B7C,sBlC82B6C;AHyiG/C;;AqC/5HA;;EAgBI,aAAa;EACb,kBAAkB;EAClB,mBAAmB;EACnB,8BAA8B;ArCo5HlC;;AqCh4HA;EACE,sBlCu1B+E;EkCt1B/E,yBlCs1B+E;EkCr1B/E,kBlCs1BsC;ECrpBlC,kBAvE+B;EiCxHnC,qBAAwD;EACxD,mBAAmB;ArCm4HrB;;AqCt3HA;EACE,aAAa;EACb,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;ArCy3HlB;;AqC93HA;EAQI,gBAAgB;EAChB,eAAe;ArC03HnB;;AqCn4HA;EAaI,gBAAgB;ArC03HpB;;AqCj3HA;EACE,mBlC6wBuC;EkC5wBvC,sBlC4wBuC;AHwmGzC;;AqCx2HA;EAGE,mBAAmB;EACnB,WAAW;ArCy2Hb;;AqCr2HA;EACE,wBlC4xBwC;ECxpBpC,kBAvE+B;EiC3DnC,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;E/BzGrC,sBH2UgC;EkB7U9B,wClBu4ByD;AH8kG/D;;AqBj9HM;EgBkGN;IhBjGQ,gBAAgB;ErBq9HtB;AACF;;AqCr3HA;EAUI,qBAAqB;ArC+2HzB;;AqCz3HA;EAcI,qBAAqB;EACrB,UAAU;EACV,yBlCyakC;AHs8GtC;;AqCz2HA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,4BAA4B;EAC5B,2BAA2B;EAC3B,qBAAqB;ArC42HvB;;Aah8HI;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;ErCo2HjC;EqCv2HG;IAMK,mBAAmB;ErCo2H3B;EqC12HG;IASO,kBAAkB;ErCo2H5B;EqC72HG;IAaO,qBlC8tB6B;IkC7tB7B,oBlC6tB6B;EHsoGvC;EqCj3HG;IAmBK,wBAAwB;ErCi2HhC;EqCp3HG;IAuBK,aAAa;ErCg2HrB;AACF;;Aav9HI;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;ErC23HjC;EqC93HG;IAMK,mBAAmB;ErC23H3B;EqCj4HG;IASO,kBAAkB;ErC23H5B;EqCp4HG;IAaO,qBlC8tB6B;IkC7tB7B,oBlC6tB6B;EH6pGvC;EqCx4HG;IAmBK,wBAAwB;ErCw3HhC;EqC34HG;IAuBK,aAAa;ErCu3HrB;AACF;;Aa9+HI;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;ErCk5HjC;EqCr5HG;IAMK,mBAAmB;ErCk5H3B;EqCx5HG;IASO,kBAAkB;ErCk5H5B;EqC35HG;IAaO,qBlC8tB6B;IkC7tB7B,oBlC6tB6B;EHorGvC;EqC/5HG;IAmBK,wBAAwB;ErC+4HhC;EqCl6HG;IAuBK,aAAa;ErC84HrB;AACF;;AargII;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;ErCy6HjC;EqC56HG;IAMK,mBAAmB;ErCy6H3B;EqC/6HG;IASO,kBAAkB;ErCy6H5B;EqCl7HG;IAaO,qBlC8tB6B;IkC7tB7B,oBlC6tB6B;EH2sGvC;EqCt7HG;IAmBK,wBAAwB;ErCs6HhC;EqCz7HG;IAuBK,aAAa;ErCq6HrB;AACF;;Aa5hII;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;ErCg8HjC;EqCn8HG;IAMK,mBAAmB;ErCg8H3B;EqCt8HG;IASO,kBAAkB;ErCg8H5B;EqCz8HG;IAaO,qBlC8tB6B;IkC7tB7B,oBlC6tB6B;EHkuGvC;EqC78HG;IAmBK,wBAAwB;ErC67HhC;EqCh9HG;IAuBK,aAAa;ErC47HrB;AACF;;AqC19HA;EAQQ,iBAAiB;EACjB,2BAA2B;ArCs9HnC;;AqC/9HA;EAYU,mBAAmB;ArCu9H7B;;AqCn+HA;EAeY,kBAAkB;ArCw9H9B;;AqCv+HA;EAmBY,qBlC8tB6B;EkC7tB7B,oBlC6tB6B;AH2vGzC;;AqC5+HA;EAyBU,wBAAwB;ArCu9HlC;;AqCh/HA;EA6BU,aAAa;ArCu9HvB;;AqC18HA;EAEI,yBlCnLW;AH+nIf;;AqC98HA;EAMM,yBlCvLS;AHmoIf;;AqCl9HA;EAYM,0BlC7LS;AHuoIf;;AqCt9HA;EAgBQ,yBlCjMO;AH2oIf;;AqC19HA;EAoBQ,yBlCrMO;AH+oIf;;AqC99HA;;EA0BM,yBlC3MS;AHopIf;;AqCn+HA;EA+BI,0BlChNW;EkCiNX,gClCjNW;AHypIf;;AqCx+HA;EAoCI,6PhClJ8E;AL0lIlF;;AqC5+HA;EAwCI,0BlCzNW;AHiqIf;;AqCh/HA;;;EA6CM,yBlC9NS;AHuqIf;;AqCn8HA;EAEI,WlChPW;AHqrIf;;AqCv8HA;EAMM,WlCpPS;AHyrIf;;AqC38HA;EAYM,gClC1PS;AH6rIf;;AqC/8HA;EAgBQ,gClC9PO;AHisIf;;AqCn9HA;EAoBQ,gClClQO;AHqsIf;;AqCv9HA;;EA0BM,WlCxQS;AH0sIf;;AqC59HA;EA+BI,gClC7QW;EkC8QX,sClC9QW;AH+sIf;;AqCj+HA;EAoCI,mQhCrM8E;ALsoIlF;;AqCr+HA;EAwCI,gClCtRW;AHutIf;;AqCz+HA;;;EA4CM,WlC1RS;AH6tIf;;AsChuIA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sBnCJa;EmCKb,2BAA2B;EAC3B,sCnCIa;EGCX,sBH2UgC;AHm5HpC;;AsC5uIA;EAaI,eAAe;EACf,cAAc;AtCmuIlB;;AsCjvIA;EAkBI,mBAAmB;EACnB,sBAAsB;AtCmuI1B;;AsCtvIA;EAsBM,mBAAmB;EhCCrB,2CDiL4D;EChL5D,4CDgL4D;ALojIhE;;AsC5vIA;EA2BM,sBAAsB;EhCUxB,+CDmK4D;EClK5D,8CDkK4D;AL0jIhE;;AsClwIA;;EAoCI,aAAa;AtCmuIjB;;AsC/tIA;EAGE,cAAc;EACd,kBnC8LW;AHkiIb;;AsC5tIA;EACE,qBnC+8B6C;AHgxG/C;;AsC5tIA;EACE,oBAAqC;EACrC,gBAAgB;AtC+tIlB;;AsC5tIA;EACE,gBAAgB;AtC+tIlB;;AsC5tIA;EAEI,qBAAqB;AtC8tIzB;;AsChuIA;EAMI,iBnCuKS;AHujIb;;AsCttIA;EACE,oBnC8JW;EmC7JX,gBAAgB;EAEhB,qCnClEa;EmCmEb,6CnCnEa;AH2xIf;;AsC7tIA;EhC7DI,0DgCqE8E;AtCytIlF;;AsCrtIA;EACE,oBnCkJW;EmChJX,qCnC7Ea;EmC8Eb,0CnC9Ea;AHqyIf;;AsC3tIA;EhCzEI,0DD0L4D;AL8mIhE;;AsC/sIA;EACE,qBAAsC;EACtC,sBnC45BoD;EmC35BpD,oBAAqC;EACrC,gBAAgB;AtCktIlB;;AsCxsIA;EACE,qBAAsC;EACtC,oBAAqC;AtC2sIvC;;AsCvsIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,anCyGW;EG5NT,kCD0L4D;ALooIhE;;AsCvsIA;;;EAGE,WAAW;AtC0sIb;;AsCvsIA;;EhCpHI,2CDiL4D;EChL5D,4CDgL4D;ALgpIhE;;AsCxsIA;;EhC3GI,+CDmK4D;EClK5D,8CDkK4D;ALspIhE;;AsCpsIA;EAII,sBnCi3BsD;AHm1G1D;;AavyII;EyB+FJ;IAQI,aAAa;IACb,mBAAmB;EtCqsIrB;EsC9sIF;IAcM,YAAY;IACZ,gBAAgB;EtCmsIpB;EsCltIF;IAkBQ,cAAc;IACd,cAAc;EtCmsIpB;EsCttIF;IhC5HI,0BgCqJoC;IhCpJpC,6BgCoJoC;EtCisItC;EsC1tIF;;IA8BY,0BAA0B;EtCgsIpC;EsC9tIF;;IAmCY,6BAA6B;EtC+rIvC;EsCluIF;IhC9GI,yBgCsJmC;IhCrJnC,4BgCqJmC;EtC8rIrC;EsCtuIF;;IA6CY,yBAAyB;EtC6rInC;EsC1uIF;;IAkDY,4BAA4B;EtC4rItC;AACF;;AsChrIA;EACE,qBAAqB;AtCmrIvB;;AsCprIA;EAII,gBAAgB;AtCorIpB;;AsCxrIA;EAOM,gBAAgB;EhC3LlB,6BgC4LiC;EhC3LjC,4BgC2LiC;AtCsrIrC;;AsC9rIA;EhClMI,yBgC8M8B;EhC7M9B,0BgC6M8B;AtCurIlC;;AsCnsIA;EhC3MI,gBgC2N0B;EACxB,mBnC4G2B;AH2kIjC;;AuCr6IA;EACE,aAAa;EACb,eAAe;EACf,oBpC2OW;EoC1OX,mBpC8tCsC;EoC5tCtC,gBAAgB;EAChB,yBpCEgB;EGSd,sBH2UgC;AHklIpC;;AuCp6IA;EAGI,oBpCmtCqC;AHktGzC;;AuCx6IA;EAMM,WAAW;EACX,qBpC+sCmC;EoC9sCnC,cpCNY;EoCOZ,YpCktCuC;AHotG7C;;AuC/6IA;EAcI,cpCZc;AHi7IlB;;AwC97IA;EACE,aAAa;EhCGb,eAAe;EACf,gBAAgB;AR+7IlB;;AwC/7IA;EACE,kBAAkB;EAClB,cAAc;EACd,crCyBe;EqCxBf,qBAAwD;EACxD,sBrCHa;EqCIb,yBrCDgB;EkBMZ,qIlB8+BoJ;AHg9G1J;;AqB17IM;EmBfN;InBgBQ,gBAAgB;ErB87ItB;AACF;;AwC/8IA;EAUI,UAAU;EACV,cnCgJiC;EmC9IjC,yBrCTc;EqCUd,qBrCTc;AHi9IlB;;AwCt9IA;EAkBI,UAAU;EACV,cnCwIiC;EmCvIjC,yBrChBc;EqCiBd,UrCs9BiC;EqCr9BjC,kDrCMa;AHk8IjB;;AwCp8IA;EAEI,iBrCyT6B;AH6oIjC;;AwCx8IA;EAMI,UAAU;EACV,WrC/BW;EsBJb,yBtB8Be;EqCOb,qBrCPa;AH68IjB;;AwC/8IA;EAaI,crC/Bc;EqCgCd,oBAAoB;EACpB,sBrCvCW;EqCwCX,qBrCrCc;AH2+IlB;;AwCh/IA;ECDI,yBtC49BsC;AHyhH1C;;AyCj/IE;EnCwCE,+BH6SgC;EG5ShC,kCH4SgC;AHiqIpC;;AyCt/IE;EnC0BE,gCH2TgC;EG1ThC,mCH0TgC;AHsqIpC;;AyChgJE;EACE,uBtCg+BsC;ECzuBpC,kBAvE+B;AJo1IrC;;AyC7/IQ;EnCqCJ,8BH+S+B;EG9S/B,iCH8S+B;AH8qInC;;AyC5/IQ;EnCiBJ,+BH6T+B;EG5T/B,kCH4T+B;AHmrInC;;AyC/gJE;EACE,uBtC89BqC;ECvuBnC,mBAvE+B;AJm2IrC;;AyC5gJQ;EnCqCJ,8BH8S+B;EG7S/B,iCH6S+B;AH8rInC;;AyC3gJQ;EnCiBJ,+BH4T+B;EG3T/B,kCH2T+B;AHmsInC;;A0C5hJA;EACE,qBAAqB;EACrB,sBvC2lCuC;ECv2BnC,iBAvE+B;EsC3KnC,gBvCkZ+B;EuCjZ/B,cAAc;EACd,WvCJa;EuCKb,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;EpCItB,sBH2UgC;AHitIpC;;A0CziJA;EAeI,aAAa;A1C8hJjB;;A0CzhJA;EACE,kBAAkB;EAClB,SAAS;A1C4hJX;;A2CnjJA;EACE,kBAAkB;EAClB,kBxCwOW;EwCvOX,mBxCgpCsC;EwC/oCtC,6BAA6C;ErCU3C,sBH2UgC;AHkuIpC;;A2CljJA;EAEE,cAAc;A3CojJhB;;A2ChjJA;EACE,gBxCuY+B;AH4qIjC;;A2C3iJA;EACE,mBxCmoCsD;AH26GxD;;A2C/iJA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,UxCqPuC;EwCpPvC,qBxCyMS;AHq2Ib;;A2CriJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;AL87IrC;;A4CplJE;EACE,cvC0JiC;AL67IrC;;A2C/iJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;ALw8IrC;;A4C9lJE;EACE,cvC0JiC;ALu8IrC;;A2CzjJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;ALk9IrC;;A4CxmJE;EACE,cvC0JiC;ALi9IrC;;A2CnkJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;AL49IrC;;A4ClnJE;EACE,cvC0JiC;AL29IrC;;A2C7kJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;ALs+IrC;;A4C5nJE;EACE,cvC0JiC;ALq+IrC;;A2CvlJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;ALg/IrC;;A4CtoJE;EACE,cvC0JiC;AL++IrC;;A2CjmJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;AL0/IrC;;A4ChpJE;EACE,cvC0JiC;ALy/IrC;;A2C3mJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;ALogJrC;;A4C1pJE;EACE,cvC0JiC;ALmgJrC;;A6CjqJE;EACE;IAAK,2B1CkqC+B;EHmgHtC;AACF;;A6CvqJE;EACE;IAAK,2B1CkqC+B;EHmgHtC;AACF;;A6ClqJA;EACE,aAAa;EACb,Y1C4pCsC;E0C3pCtC,gBAAgB;EzCiPZ,kBAvE+B;EyCxKnC,yB1CHgB;EGSd,sBH2UgC;AHq1IpC;;A6CjqJA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;EAChB,W1Cfa;E0CgBb,kBAAkB;EAClB,mBAAmB;EACnB,yB1CQe;EkBjBX,2BlB6pC4C;AHihHlD;;AqB1qJM;EwBHN;IxBIQ,gBAAgB;ErB8qJtB;AACF;;A6CvqJA;EpBYE,qMAA6I;EoBV7I,0B1CsoCsC;AHoiHxC;;A6CtqJE;EACE,0D1CwoCkD;E0CxoClD,kD1CwoCkD;AHiiHtD;;A6CtqJM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E7C0qJrB;AACF;;A8C/sJA;EACE,aAAa;EACb,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;ExCQd,sBH2UgC;AH83IpC;;A8CvsJA;EACE,WAAW;EACX,c3CRgB;E2CShB,mBAAmB;A9C0sJrB;;A8C7sJA;EAQI,UAAU;EACV,c3Cfc;E2CgBd,qBAAqB;EACrB,yB3CvBc;AHguJlB;;A8CptJA;EAeI,c3CnBc;E2CoBd,yB3C3Bc;AHouJlB;;A8ChsJA;EACE,kBAAkB;EAClB,cAAc;EACd,oB3C8LW;E2C5LX,qBAAwD;EACxD,sB3C5Ca;E2C6Cb,sC3CnCa;AHquJf;;A8CzsJA;ExClBI,+BwC4BkC;ExC3BlC,gCwC2BkC;A9CosJtC;;A8C9sJA;ExCJI,mCwCkBqC;ExCjBrC,kCwCiBqC;A9CqsJzC;;A8CntJA;EAmBI,c3CnDc;E2CoDd,oBAAoB;EACpB,sB3C3DW;AH+vJf;;A8CztJA;EA0BI,UAAU;EACV,W3CjEW;E2CkEX,yB3CxCa;E2CyCb,qB3CzCa;AH4uJjB;;A8ChuJA;EAiCI,mBAAmB;A9CmsJvB;;A8CpuJA;EAoCM,gB3CyQ2B;E2CxQ3B,qB3CwQ2B;AH47IjC;;A8CtrJI;EACE,mBAAmB;A9CyrJzB;;A8C1rJI;ExCvBA,kCHoRgC;EGhShC,0BwCyCwC;A9CyrJ5C;;A8C/rJI;ExCnCA,gCHgSgC;EGpRhC,4BwCkC0C;A9CyrJ9C;;A8CpsJI;EAeM,aAAa;A9CyrJvB;;A8CxsJI;EAmBM,qB3CuOuB;E2CtOvB,oBAAoB;A9CyrJ9B;;A8C7sJI;EAuBQ,iB3CmOqB;E2ClOrB,sB3CkOqB;AHw9IjC;;AanvJI;EiCiCA;IACE,mBAAmB;E9CstJvB;E8CvtJE;IxCvBA,kCHoRgC;IGhShC,0BwCyCwC;E9CqtJ1C;E8C3tJE;IxCnCA,gCHgSgC;IGpRhC,4BwCkC0C;E9CotJ5C;E8C/tJE;IAeM,aAAa;E9CmtJrB;E8CluJE;IAmBM,qB3CuOuB;I2CtOvB,oBAAoB;E9CktJ5B;E8CtuJE;IAuBQ,iB3CmOqB;I2ClOrB,sB3CkOqB;EHg/I/B;AACF;;Aa5wJI;EiCiCA;IACE,mBAAmB;E9C+uJvB;E8ChvJE;IxCvBA,kCHoRgC;IGhShC,0BwCyCwC;E9C8uJ1C;E8CpvJE;IxCnCA,gCHgSgC;IGpRhC,4BwCkC0C;E9C6uJ5C;E8CxvJE;IAeM,aAAa;E9C4uJrB;E8C3vJE;IAmBM,qB3CuOuB;I2CtOvB,oBAAoB;E9C2uJ5B;E8C/vJE;IAuBQ,iB3CmOqB;I2ClOrB,sB3CkOqB;EHygJ/B;AACF;;AaryJI;EiCiCA;IACE,mBAAmB;E9CwwJvB;E8CzwJE;IxCvBA,kCHoRgC;IGhShC,0BwCyCwC;E9CuwJ1C;E8C7wJE;IxCnCA,gCHgSgC;IGpRhC,4BwCkC0C;E9CswJ5C;E8CjxJE;IAeM,aAAa;E9CqwJrB;E8CpxJE;IAmBM,qB3CuOuB;I2CtOvB,oBAAoB;E9CowJ5B;E8CxxJE;IAuBQ,iB3CmOqB;I2ClOrB,sB3CkOqB;EHkiJ/B;AACF;;Aa9zJI;EiCiCA;IACE,mBAAmB;E9CiyJvB;E8ClyJE;IxCvBA,kCHoRgC;IGhShC,0BwCyCwC;E9CgyJ1C;E8CtyJE;IxCnCA,gCHgSgC;IGpRhC,4BwCkC0C;E9C+xJ5C;E8C1yJE;IAeM,aAAa;E9C8xJrB;E8C7yJE;IAmBM,qB3CuOuB;I2CtOvB,oBAAoB;E9C6xJ5B;E8CjzJE;IAuBQ,iB3CmOqB;I2ClOrB,sB3CkOqB;EH2jJ/B;AACF;;Aav1JI;EiCiCA;IACE,mBAAmB;E9C0zJvB;E8C3zJE;IxCvBA,kCHoRgC;IGhShC,0BwCyCwC;E9CyzJ1C;E8C/zJE;IxCnCA,gCHgSgC;IGpRhC,4BwCkC0C;E9CwzJ5C;E8Cn0JE;IAeM,aAAa;E9CuzJrB;E8Ct0JE;IAmBM,qB3CuOuB;I2CtOvB,oBAAoB;E9CszJ5B;E8C10JE;IAuBQ,iB3CmOqB;I2ClOrB,sB3CkOqB;EHolJ/B;AACF;;A8CzyJA;ExCpHI,gBwCqHsB;A9C4yJ1B;;A8C7yJA;EAII,qB3CgN6B;AH6lJjC;;A8CjzJA;EAOM,sBAAsB;A9C8yJ5B;;A+Cx7JE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALqyJrC;;A+C77JE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALqyJrC;;A+Cl8JE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL2yJrC;;A+Cx8JE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALqzJrC;;A+C78JE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALqzJrC;;A+Cl9JE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL2zJrC;;A+Cx9JE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALq0JrC;;A+C79JE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALq0JrC;;A+Cl+JE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL20JrC;;A+Cx+JE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALq1JrC;;A+C7+JE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALq1JrC;;A+Cl/JE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL21JrC;;A+Cx/JE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALq2JrC;;A+C7/JE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALq2JrC;;A+ClgKE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL22JrC;;A+CxgKE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALq3JrC;;A+C7gKE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALq3JrC;;A+ClhKE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL23JrC;;A+CxhKE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALq4JrC;;A+C7hKE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALq4JrC;;A+CliKE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL24JrC;;A+CxiKE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALq5JrC;;A+C7iKE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALq5JrC;;A+CljKE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL25JrC;;AgDtjKA;EACE,uBAAuB;EACvB,U7CmxC8B;E6ClxC9B,W7CkxC8B;E6CjxC9B,sB7CmxCgC;E6ClxChC,W7COa;E6CNb,kXAAiG;EACjG,SAAS;E1CMP,sBH2UgC;E6C/UlC,Y7CmxC6B;AHsyH/B;;AgDlkKA;EAaI,W7CDW;E6CEX,qBAAqB;EACrB,a7C8wC4B;AH2yHhC;;AgDxkKA;EAmBI,aAAa;EACb,kD7CQa;E6CPb,U7CywC0B;AHgzH9B;;AgD9kKA;EA0BI,oBAAoB;EACpB,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,a7CmwC4B;AHqzHhC;;AgDpjKA;EACE,kD7C+vCqE;AHwzHvE;;AiD7lKA;EACE,gB9C2kCuC;ECj1BnC,mBAvE+B;E6ChLnC,2C9CGa;E8CFb,4BAA4B;EAC5B,oC9C6kCmD;E8C5kCnD,6C9CUa;E8CTb,UAAU;E3CUR,sBH2UgC;AH2wJpC;;AiDxmKA;EAYI,sB9CikCsC;AH+hI1C;;AiD5mKA;EAgBI,UAAU;AjDgmKd;;AiDhnKA;EAoBI,cAAc;EACd,UAAU;AjDgmKd;;AiDrnKA;EAyBI,aAAa;AjDgmKjB;;AiD5lKA;EACE,aAAa;EACb,mBAAmB;EA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m6KhE;;AqD1kLA;EAOM,SAAS;EACT,6BAAgE;EAChE,qClDyhCiE;AH8iJvE;;AqDhlLA;EAaM,WlDwS2B;EkDvS3B,6BAAgE;EAChE,sBlD7CS;AHonLf;;AqDlkLA;EACE,mBlD0gCuC;AH2jJzC;;AqDtkLA;EAII,yBhD+I4D;EgD9I5D,alDsgCqC;EkDrgCrC,YlDogCoC;EkDngCpC,gBAAgC;ArDskLpC;;AqD7kLA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uClDkgCiE;AHqkJvE;;AqDnlLA;EAgBM,SlDiR2B;EkDhR3B,oCAA2F;EAC3F,wBlDpES;AH2oLf;;AqDlkLA;EACE,kBlDm/BuC;AHklJzC;;AqDtkLA;EAII,wBhDwH4D;AL88KhE;;AqD1kLA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wClD8+BiE;AHylJvE;;AqDhlLA;EAaM,QlD6P2B;EkD5P3B,oCAA2F;EAC3F,yBlDxFS;AH+pLf;;AqDtlLA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WlD09BoC;EkDz9BpC,oBAAsC;EACtC,WAAW;EACX,gChDoDiC;ALihLrC;;AqDjkLA;EACE,oBlDm9BuC;AHinJzC;;AqDrkLA;EAII,0BhDwF4D;EgDvF5D,alD+8BqC;EkD98BrC,YlD68BoC;EkD58BpC,gBAAgC;ArDqkLpC;;AqD5kLA;EAUM,QAAQ;EACR,oClDy8BmC;EkDx8BnC,sClD28BiE;AH2nJvE;;AqDllLA;EAgBM,UlD0N2B;EkDzN3B,oClDm8BmC;EkDl8BnC,uBlD3HS;AHisLf;;AqDhjLA;EACE,oBlDqFW;EkDpFX,gBAAgB;EjDiGZ,eAvE+B;EiDvBnC,yBhDGmC;EgDFnC,gChDEmC;ECrIjC,0CDiL4D;EChL5D,2CDgL4D;ALsgLhE;;AqD1jLA;EAUI,aAAa;ArDojLjB;;AqDhjLA;EACE,kBlDuEW;EkDtEX,clDxJgB;AH2sLlB;;AsD9sLA;EACE,kBAAkB;AtDitLpB;;AsD9sLA;EACE,mBAAmB;AtDitLrB;;AsD9sLA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;AtDitLlB;;AuDvuLE;EACE,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;AiE53MM;EAEI,4BAA+D;AjE83MzE;;AiEh4MM;EAEI,4BAA+D;AjEk4MzE;;AiEp4MM;EAEI,4BAA+D;AjEs4MzE;;AiEx4MM;EAEI,4BAA+D;AjE04MzE;;AiE54MM;EAEI,qBAA+D;AjE84MzE;;AiEh5MM;EAEI,qBAA+D;AjEk5MzE;;AiEp5MM;EAEI,qBAA+D;AjEs5MzE;;AiEx5MM;EAEI,sBAA+D;AjE05MzE;;AiE55MM;EAEI,sBAA+D;AjE85MzE;;AiEh6MM;EAEI,0BAA+D;AjEk6MzE;;AiEp6MM;EAEI,uBAA+D;AjEs6MzE;;AiEx6MM;EAEI,2BAA+D;AjE06MzE;;AiE56MM;EAEI,sBAA+D;AjE86MzE;;AiEh7MM;EAEI,sBAA+D;AjEk7MzE;;AiEp7MM;EAEI,sBAA+D;AjEs7MzE;;AiEx7MM;EAEI,uBAA+D;AjE07MzE;;AiE57MM;EAEI,uBAA+D;AjE87MzE;;AiEh8MM;EAEI,2BAA+D;AjEk8MzE;;AiEp8MM;EAEI,wBAA+D;AjEs8MzE;;AiEx8MM;EAEI,4BAA+D;AjE08MzE;;AiE58MM;EAEI,yBAA+D;AjE88MzE;;AiEh9MM;EAEI,8BAA+D;AjEk9MzE;;AiEp9MM;EAEI,iCAA+D;AjEs9MzE;;AiEx9MM;EAEI,sCAA+D;AjE09MzE;;AiE59MM;EAEI,yCAA+D;AjE89MzE;;AiEh+MM;EAEI,uBAA+D;AjEk+MzE;;AiEp+MM;EAEI,uBAA+D;AjEs+MzE;;AiEx+MM;EAEI,yBAA+D;AjE0+MzE;;AiE5+MM;EAEI,yBAA+D;AjE8+MzE;;AiEh/MM;EAEI,0BAA+D;AjEk/MzE;;AiEp/MM;EAEI,4BAA+D;AjEs/MzE;;AiEx/MM;EAEI,kCAA+D;AjE0/MzE;;AiE5/MM;EAEI,sCAA+D;AjE8/MzE;;AiEhgNM;EAEI,oCAA+D;AjEkgNzE;;AiEpgNM;EAEI,kCAA+D;AjEsgNzE;;AiExgNM;EAEI,yCAA+D;AjE0gNzE;;AiE5gNM;EAEI,wCAA+D;AjE8gNzE;;AiEhhNM;EAEI,wCAA+D;AjEkhNzE;;AiEphNM;EAEI,kCAA+D;AjEshNzE;;AiExhNM;EAEI,gCAA+D;AjE0hNzE;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jEw+NzE;;AiE1+NM;EAEI,gCAA+D;AjE4+NzE;;AiE9+NM;EAEI,+BAA+D;AjEg/NzE;;AiEl/NM;EAEI,6BAA+D;AjEo/NzE;;AiEt/NM;EAEI,+BAA+D;AjEw/NzE;;AiE1/NM;EAEI,6BAA+D;AjE4/NzE;;AiE9/NM;EAEI,4CAA+D;AjEggOzE;;AiElgOM;EAEI,4CAA+D;AjEogOzE;;AiEtgOM;EAEI,0CAA+D;AjEwgOzE;;AiE1gOM;EAEI,4CAA+D;AjE4gOzE;;AiE9gOM;EAEI,6BAA+D;AjEghOzE;;AiElhOM;EAEI,0BAA+D;AjEohOzE;;AiEthOM;EAEI,6BAA+D;AjEwhOzE;;AiE1hOM;EAEI,6BAA+D;AjE4hOzE;;AiE9hOM;EAEI,2BAA+D;AjEgiOzE;;AiEliOM;EAEI,+BAA+D;AjEoiOzE;;AiEtiOM;EAEI,2BAA+D;AjEwiOzE;;AiE1iOM;EAEI,2BAA+D;AjE4iOzE;;AiE9iOM;EAEI,8BAA+D;AjEgjOzE;;AiEljOM;EAEI,oCAA+D;AjEojOzE;;AiEtjOM;EAEI,oCAA+D;AjEwjOzE;;AiE1jOM;EAEI,qCAA+D;AjE4jOzE;;AiE9jOM;EAEI,2BAA+D;AjEgkOzE;;AiElkOM;EAEI,4BAA+D;AjEokOzE;;AiEtkOM;EAEI,6BAA+D;AjEwkOzE;;AiE1kOM;EAEI,yBAA+D;AjE4kOzE;;AiE9kOM;EAEI,yBAA+D;AjEglOzE;;AiEllOM;EAEI,yBAA+D;AjEolOzE;;AiEtlOM;EAEI,yBAA+D;AjEwlOzE;;AiE1lOM;EAEI,yBAA+D;AjE4lOzE;;AiE9lOM;EAEI,yBAA+D;AjEgmOzE;;AiElmOM;EAEI,yBAA+D;AjEomOzE;;AiEtmOM;EAEI,yBAA+D;AjEwmOzE;;AiE1mOM;EAEI,sBAA+D;AjE4mOzE;;AiE9mOM;EAEI,yBAA+D;AjEgnOzE;;AiElnOM;EAEI,yBAA+D;AjEonOzE;;AiEtnOM;EAEI,oCAA+D;AjEwnOzE;;AiE1nOM;EAEI,0CAA+D;AjE4nOzE;;AiE9nOM;EAEI,yBAA+D;AjEgoOzE;;AiEloOM;EAEI,yBAA+D;AjEooOzE;;AiEtoOM;EAEI,4BAA+D;A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;;Aa7uPI;EoDtBE;IAEI,sBAA+D;EjEswPvE;EiExwPI;IAEI,uBAA+D;EjEywPvE;EiE3wPI;IAEI,sBAA+D;EjE4wPvE;EiE9wPI;IAEI,0BAA+D;EjE+wPvE;EiEjxPI;IAEI,gCAA+D;EjEkxPvE;EiEpxPI;IAEI,yBAA+D;EjEqxPvE;EiEvxPI;IAEI,yBAA+D;EjEwxPvE;EiE1xPI;IAEI,6BAA+D;EjE2xPvE;EiE7xPI;IAEI,8BAA+D;EjE8xPvE;EiEhyPI;IAEI,wBAA+D;EjEiyPvE;EiEnyPI;IAEI,+BAA+D;EjEoyPvE;EiEtyPI;IAEI,wBAA+D;EjEuyPvE;EiEzyPI;IAEI,yBAA+D;EjE0yPvE;EiE5yPI;IAEI,8BAA+D;EjE6yPvE;EiE/yPI;IAEI,iCAA+D;EjEgzPvE;EiElzPI;IAEI,sCAA+D;EjEmzPvE;EiErzPI;IAEI,yCAA+D;EjEszPvE;EiExzPI;IAEI,uBAA+D;EjEyzPvE;EiE3zPI;IAEI,uBAA+D;EjE4zPvE;EiE9zPI;IAEI,yBAA+D;EjE+zPvE;EiEj0PI;IAEI,yBAA+D;EjEk0PvE;EiEp0PI;IAEI,0BAA+D;EjEq0PvE;EiEv0PI;IAEI,4BAA+D;EjEw0PvE;EiE10PI;IAEI,kCAA+D;EjE20PvE;EiE70PI;IAEI,sCAA+D;EjE80PvE;EiEh1PI;IAEI,oCAA+D;EjEi1PvE;EiEn1PI;IAEI,kCAA+D;EjEo1PvE;EiEt1PI;IAEI,yCAA+D;EjEu1PvE;EiEz1PI;IAEI,wCAA+D;EjE01PvE;EiE51PI;IAEI,wCAA+D;EjE61PvE;EiE/1PI;IAEI,kCAA+D;EjEg2PvE;EiEl2PI;IAEI,gCAA+D;EjEm2PvE;EiEr2PI;IAEI,8BAA+D;EjEs2PvE;EiEx2PI;IAEI,gCAA+D;EjEy2PvE;EiE32PI;IAEI,+BAA+D;EjE42PvE;EiE92PI;IAEI,oCAA+D;EjE+2PvE;EiEj3PI;IAEI,kCAA+D;EjEk3PvE;EiEp3PI;IAEI,gCAA+D;EjEq3PvE;EiEv3PI;IAEI,uCAA+D;EjEw3PvE;EiE13PI;IAEI,sCAA+D;EjE23PvE;EiE73PI;IAEI,iCAA+D;EjE83PvE;EiE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QI;IAEI,gCAA+D;EjE8uQvE;EiEhvQI;IAEI,yBAA+D;EjEivQvE;EiEnvQI;IAEI,yBAA+D;EjEovQvE;EiEtvQI;IAEI,6BAA+D;EjEuvQvE;EiEzvQI;IAEI,8BAA+D;EjE0vQvE;EiE5vQI;IAEI,wBAA+D;EjE6vQvE;EiE/vQI;IAEI,+BAA+D;EjEgwQvE;EiElwQI;IAEI,wBAA+D;EjEmwQvE;EiErwQI;IAEI,yBAA+D;EjEswQvE;EiExwQI;IAEI,8BAA+D;EjEywQvE;EiE3wQI;IAEI,iCAA+D;EjE4wQvE;EiE9wQI;IAEI,sCAA+D;EjE+wQvE;EiEjxQI;IAEI,yCAA+D;EjEkxQvE;EiEpxQI;IAEI,uBAA+D;EjEqxQvE;EiEvxQI;IAEI,uBAA+D;EjEwxQvE;EiE1xQI;IAEI,yBAA+D;EjE2xQvE;EiE7xQI;IAEI,yBAA+D;EjE8xQvE;EiEhyQI;IAEI,0BAA+D;EjEiyQvE;EiEnyQI;IAEI,4BAA+D;EjEoyQvE;EiEtyQI;IAEI,kCAA+D;EjEuyQvE;EiEzyQI;IAEI,sCAA+D;EjE0yQvE;EiE5yQI;IAEI,oCAA+D;EjE6yQvE;EiE/yQI;IAEI,kCAA+D;EjEgzQvE;EiElzQI;IAEI,yCAA+D;EjEmzQvE;EiErzQI;IAEI,wCAA+D;EjEszQvE;EiExzQI;IAEI,wCAA+D;EjEyzQvE;EiE3zQI;IAEI,kCAA+D;EjE4zQvE;EiE9zQI;IAEI,gCAA+D;EjE+zQvE;EiEj0QI;IAEI,8BAA+D;EjEk0QvE;EiEp0QI;IAEI,gCAA+D;EjEq0QvE;EiEv0QI;IAEI,+BAA+D;EjEw0QvE;EiE10QI;IAEI,oCAA+D;EjE20QvE;EiE70QI;IAEI,kCAA+D;EjE80QvE;EiEh1QI;IAEI,gCAA+D;EjEi1QvE;EiEn1QI;IAEI,uCAA+D;EjEo1QvE;EiEt1QI;IAEI,sCAA+D;EjEu1QvE;EiEz1QI;IAEI,iCAA+D;EjE01QvE;EiE51QI;IAEI,2BAA+D;EjE61QvE;EiE/1QI;IAEI,iCAA+D;EjEg2QvE;EiEl2QI;IAEI,+BAA+D;EjEm2QvE;EiEr2QI;IAEI,6BAA+D;EjEs2QvE;EiEx2QI;IAEI,+BA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D;EjEstRvE;EiExtRI;IAEI,wBAA+D;EjEytRvE;EiE3tRI;IAEI,+BAA+D;EjE4tRvE;EiE9tRI;IAEI,wBAA+D;EjE+tRvE;EiEjuRI;IAEI,yBAA+D;EjEkuRvE;EiEpuRI;IAEI,8BAA+D;EjEquRvE;EiEvuRI;IAEI,iCAA+D;EjEwuRvE;EiE1uRI;IAEI,sCAA+D;EjE2uRvE;EiE7uRI;IAEI,yCAA+D;EjE8uRvE;EiEhvRI;IAEI,uBAA+D;EjEivRvE;EiEnvRI;IAEI,uBAA+D;EjEovRvE;EiEtvRI;IAEI,yBAA+D;EjEuvRvE;EiEzvRI;IAEI,yBAA+D;EjE0vRvE;EiE5vRI;IAEI,0BAA+D;EjE6vRvE;EiE/vRI;IAEI,4BAA+D;EjEgwRvE;EiElwRI;IAEI,kCAA+D;EjEmwRvE;EiErwRI;IAEI,sCAA+D;EjEswRvE;EiExwRI;IAEI,oCAA+D;EjEywRvE;EiE3wRI;IAEI,kCAA+D;EjE4wRvE;EiE9wRI;IAEI,yCAA+D;EjE+wRvE;EiEjxRI;IAEI,wCAA+D;EjEkxRvE;EiEpxRI;IAEI,wCAA+D;EjEqxRvE;EiEvxRI;IAEI,kCAA+D;EjEwxRvE;EiE1xRI;IAEI,gCAA+D;EjE2xRvE;EiE7xRI;IAEI,8BAA+D;EjE8xRvE;EiEhyRI;IAEI,gCAA+D;EjEiyRvE;EiEnyRI;IAEI,+BAA+D;EjEoyRvE;EiEtyRI;IAEI,oCAA+D;EjEuyRvE;EiEzyRI;IAEI,kCAA+D;EjE0yRvE;EiE5yRI;IAEI,gCAA+D;EjE6yRvE;EiE/yRI;IAEI,uCAA+D;EjEgzRvE;EiElzRI;IAEI,sCAA+D;EjEmzRvE;EiErzRI;IAEI,iCAA+D;EjEszRvE;EiExzRI;IAEI,2BAA+D;EjEyzRvE;EiE3zRI;IAEI,iCAA+D;EjE4zRvE;EiE9zRI;IAEI,+BAA+D;EjE+zRvE;EiEj0RI;IAEI,6BAA+D;EjEk0RvE;EiEp0RI;IAEI,+BAA+D;EjEq0RvE;EiEv0RI;IAEI,8BAA+D;EjEw0RvE;EiE10RI;IAEI,oBAA+D;EjE20RvE;EiE70RI;IAEI,mBAA+D;EjE80RvE;EiEh1RI;IAEI,mBAA+D;EjEi1RvE;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A+D;IAA/D,+BAA+D;EjEmkSvE;EiErkSI;IAEI,yBAA+D;EjEskSvE;EiExkSI;IAEI,+BAA+D;EjEykSvE;EiE3kSI;IAEI,8BAA+D;EjE4kSvE;EiE9kSI;IAEI,4BAA+D;EjE+kSvE;EiEjlSI;IAEI,8BAA+D;EjEklSvE;EiEplSI;IAEI,4BAA+D;EjEqlSvE;EiEvlSI;IAEI,2BAA+D;EjEwlSvE;EiE1lSI;IAEI,iCAA+D;EjE2lSvE;EiE7lSI;IAEI,gCAA+D;EjE8lSvE;EiEhmSI;IAEI,8BAA+D;EjEimSvE;EiEnmSI;IAEI,gCAA+D;EjEomSvE;EiEtmSI;IAEI,8BAA+D;EjEumSvE;EiEzmSI;IAEI,4BAA+D;EjE0mSvE;EiE5mSI;IAEI,kCAA+D;EjE6mSvE;EiE/mSI;IAEI,iCAA+D;EjEgnSvE;EiElnSI;IAEI,+BAA+D;EjEmnSvE;EiErnSI;IAEI,iCAA+D;EjEsnSvE;EiExnSI;IAEI,+BAA+D;EjEynSvE;EiE3nSI;IAEI,0BAA+D;EjE4nSvE;EiE9nSI;IAEI,gCAA+D;EjE+nSvE;EiEjoSI;IAEI,+BAA+D;EjEkoSvE;EiEpoSI;IAEI,6BAA+D;EjEqoSvE;EiEvoSI;IAEI,+BAA+D;EjEwoSvE;EiE1oSI;IAEI,6BAA+D;EjE2oSvE;EiE7oSI;IAEI,2BAA+D;EjE8oSvE;EiEhpSI;IAEI,4BAA+D;EjEipSvE;EiEnpSI;IAEI,6BAA+D;EjEopSvE;AACF;;AajoSI;EoDtBE;IAEI,sBAA+D;EjE0pSvE;EiE5pSI;IAEI,uBAA+D;EjE6pSvE;EiE/pSI;IAEI,sBAA+D;EjEgqSvE;EiElqSI;IAEI,0BAA+D;EjEmqSvE;EiErqSI;IAEI,gCAA+D;EjEsqSvE;EiExqSI;IAEI,yBAA+D;EjEyqSvE;EiE3qSI;IAEI,yBAA+D;EjE4qSvE;EiE9qSI;IAEI,6BAA+D;EjE+qSvE;EiEjrSI;IAEI,8BAA+D;EjEkrSvE;EiEprSI;IAEI,wBAA+D;EjEqrSvE;EiEvrSI;IAEI,+BAA+D;EjEwrSvE;EiE1rSI;IAEI,wBAA+D;EjE2rSvE;EiE7rSI;IAEI,yBAA+D;EjE8rSvE;EiEhsSI;IAEI,8BAA+D;EjEisSvE;EiEnsSI;IAEI,iCAA+D;EjEosSvE;EiEtsSI;IAEI,sCAA+D;EjEusSvE;EiEzsSI;IAEI,yCAA+D;EjE0sSvE;EiE5sSI;IAEI,uBAA+D;EjE6sSvE;EiE/sSI;IAEI,uBAA+D;EjEgtSvE;EiEltSI;IAEI,yBAA+D;EjEmtSvE;EiErtSI;IAEI,yBAA+D;EjEstSvE;EiExtSI;IAEI,0BAA+D;EjEytSvE;EiE3tSI;IAEI,4BAA+D;EjE4tSvE;EiE9tSI;IAEI,kCAA+D;EjE+tSvE;EiEjuSI;IAEI,sCAA+D;EjEkuSvE;EiEpuSI;IAEI,oCAA+D;EjEquSvE;EiEvuSI;IAEI,kCAA+D;EjEwuSvE;EiE1uSI;IAEI,yCAA+D;EjE2uSvE;EiE7uSI;IAEI,wCAA+D;EjE8uSvE;EiEhvSI;IAEI,wCAA+D;EjEivSvE;EiEnvSI;IAEI,kCAA+D;EjEovSvE;EiEtvSI;IAEI,gCAA+D;EjEuvSvE;EiEzvSI;IAEI,8BAA+D;EjE0vSvE;EiE5vSI;IAEI,gCAA+D;EjE6vSvE;EiE/vSI;IAEI,+BAA+D;EjEgwSvE;EiElwSI;IAEI,oCAA+D;EjEmwSvE;EiErwSI;IAEI,kCAA+D;EjEswSvE;EiExwSI;IAEI,gCAA+D;EjEywSvE;EiE3wSI;IAEI,uCAA+D;EjE4wSvE;EiE9wSI;IAEI,sCAA+D;EjE+wSvE;EiEjxSI;IAEI,iCAA+D;EjEkxSvE;EiEpxSI;IAEI,2BAA+D;EjEqxSvE;EiEvxSI;IAEI,iCAA+D;EjEwxSvE;EiE1xSI;IAEI,+BAA+D;EjE2xSvE;EiE7xSI;IAEI,6BAA+D;EjE8xSvE;EiEhySI;IAEI,+BAA+D;EjEiySvE;EiEnySI;IAEI,8BAA+D;EjEoySvE;EiEtySI;IAEI,oBAA+D;EjEuySvE;EiEzySI;IAEI,mBAA+D;EjE0ySvE;EiE5ySI;IAEI,mBAA+D;EjE6ySvE;EiE/ySI;IAEI,mBAA+D;EjEgzSvE;EiElzSI;IAEI,mBAA+D;EjEmzSvE;EiErzSI;IAEI,mBAA+D;EjEszSvE;EiExzSI;IAEI,mBAA+D;EjEyzSvE;EiE3zSI;IAEI,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A+D;EjE2iTvE;EiE7iTI;IAEI,8BAA+D;EjE8iTvE;EiEhjTI;IAEI,4BAA+D;EjEijTvE;EiEnjTI;IAEI,2BAA+D;EjEojTvE;EiEtjTI;IAEI,iCAA+D;EjEujTvE;EiEzjTI;IAEI,gCAA+D;EjE0jTvE;EiE5jTI;IAEI,8BAA+D;EjE6jTvE;EiE/jTI;IAEI,gCAA+D;EjEgkTvE;EiElkTI;IAEI,8BAA+D;EjEmkTvE;EiErkTI;IAEI,4BAA+D;EjEskTvE;EiExkTI;IAEI,kCAA+D;EjEykTvE;EiE3kTI;IAEI,iCAA+D;EjE4kTvE;EiE9kTI;IAEI,+BAA+D;EjE+kTvE;EiEjlTI;IAEI,iCAA+D;EjEklTvE;EiEplTI;IAEI,+BAA+D;EjEqlTvE;EiEvlTI;IAEI,0BAA+D;EjEwlTvE;EiE1lTI;IAEI,gCAA+D;EjE2lTvE;EiE7lTI;IAEI,+BAA+D;EjE8lTvE;EiEhmTI;IAEI,6BAA+D;EjEimTvE;EiEnmTI;IAEI,+BAA+D;EjEomTvE;EiEtmTI;IAEI,6BAA+D;EjEumTvE;EiEzmTI;IAEI,2BAA+D;EjE0mTvE;EiE5mTI;IAEI,4BAA+D;EjE6mTvE;EiE/mTI;IAEI,6BAA+D;EjEgnTvE;AACF;;AkEzoTA;EDsBM;IAEI,4BAA+D;EjEsnTvE;EiExnTI;IAEI,0BAA+D;EjEynTvE;EiE3nTI;IAEI,6BAA+D;EjE4nTvE;EiE9nTI;IAEI,4BAA+D;EjE+nTvE;EiEjoTI;IAEI,4BAA+D;EjEkoTvE;EiEpoTI;IAEI,0BAA+D;EjEqoTvE;EiEvoTI;IAEI,6BAA+D;EjEwoTvE;EiE1oTI;IAEI,4BAA+D;EjE2oTvE;EiE7oTI;IAEI,4BAA+D;EjE8oTvE;EiEhpTI;IAEI,0BAA+D;EjEipTvE;EiEnpTI;IAEI,6BAA+D;EjEopTvE;EiEtpTI;IAEI,4BAA+D;EjEupTvE;EiEzpTI;IAEI,4BAA+D;EjE0pTvE;EiE5pTI;IAEI,0BAA+D;EjE6pTvE;EiE/pTI;IAEI,6BAA+D;EjEgqTvE;EiElqTI;IAEI,4BAA+D;EjEmqTvE;AACF;;AkEzqTA;EDGM;IAEI,0BAA+D;EjEyqTvE;EiE3qTI;IAEI,gCAA+D;EjE4qTvE;EiE9qTI;IAEI,yBAA+D;EjE+qTvE;EiEjrTI;IAEI,yBAA+D;EjEkrTvE;EiEprTI;IAEI,6BAA+D;EjEqrTvE;EiEvrTI;IAEI,8BAA+D;EjEwrTvE;EiE1rTI;IAEI,wBAA+D;EjE2rTvE;EiE7rTI;IAEI,+BAA+D;EjE8rTvE;EiEhsTI;IAEI,wBAA+D;EjEisTvE;AACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n","/*!\n * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #0a58ca;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n -ms-overflow-style: scrollbar;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.625rem + 4.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5rem;\n }\n}\n\n.display-2 {\n font-size: calc(1.575rem + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5rem;\n }\n}\n\n.display-3 {\n font-size: calc(1.525rem + 3.3vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4rem;\n }\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.display-5 {\n font-size: calc(1.425rem + 2.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3rem;\n }\n}\n\n.display-6 {\n font-size: calc(1.375rem + 1.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5rem;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1rem;\n margin-bottom: 1rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl,\n.container-xxl {\n --bs-gutter-x: 1.5rem;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n@media (min-width: 1400px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {\n max-width: 1320px;\n }\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n.table {\n --bs-table-bg: transparent;\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: #212529;\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\n --bs-table-active-color: #212529;\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\n --bs-table-hover-color: #212529;\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n border-color: #dee2e6;\n}\n\n.table > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));\n border-bottom-width: 1px;\n}\n\n.table > tbody {\n vertical-align: inherit;\n}\n\n.table > thead {\n vertical-align: bottom;\n}\n\n.table > :not(:last-child) > :last-child > * {\n border-bottom-color: currentColor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: 1px 0;\n}\n\n.table-bordered > :not(caption) > * > * {\n border-width: 0 1px;\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.table-active {\n --bs-table-accent-bg: var(--bs-table-active-bg);\n color: var(--bs-table-active-color);\n}\n\n.table-hover > tbody > tr:hover {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n}\n\n.table-primary {\n --bs-table-bg: #cfe2ff;\n --bs-table-striped-bg: #c5d7f2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #bacbe6;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bfd1ec;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #bacbe6;\n}\n\n.table-secondary {\n --bs-table-bg: #e2e3e5;\n --bs-table-striped-bg: #d7d8da;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #cbccce;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #d1d2d4;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #cbccce;\n}\n\n.table-success {\n --bs-table-bg: #d1e7dd;\n --bs-table-striped-bg: #c7dbd2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #bcd0c7;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #c1d6cc;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #bcd0c7;\n}\n\n.table-info {\n --bs-table-bg: #cff4fc;\n --bs-table-striped-bg: #c5e8ef;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #badce3;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bfe2e9;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #badce3;\n}\n\n.table-warning {\n --bs-table-bg: #fff3cd;\n --bs-table-striped-bg: #f2e7c3;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e6dbb9;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #ece1be;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #e6dbb9;\n}\n\n.table-danger {\n --bs-table-bg: #f8d7da;\n --bs-table-striped-bg: #eccccf;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfc2c4;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5c7ca;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #dfc2c4;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #ecedee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfe0e1;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5e6e7;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #dfe0e1;\n}\n\n.table-dark {\n --bs-table-bg: #212529;\n --bs-table-striped-bg: #2c3034;\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: #373b3e;\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: #323539;\n --bs-table-hover-color: #fff;\n color: #fff;\n border-color: #373b3e;\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n.form-label {\n margin-bottom: 0.5rem;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-text {\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n appearance: none;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control:focus {\n color: #212529;\n background-color: #fff;\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n vertical-align: middle;\n background-color: #fff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #212529;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #212529;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.5em;\n}\n\n.form-check-input {\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n background-color: #fff;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: 1px solid rgba(0, 0, 0, 0.25);\n appearance: none;\n color-adjust: exact;\n transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-check-input {\n transition: none;\n }\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n border-color: #0d6efd;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: 0.5;\n}\n\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n opacity: 0.5;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n background-position: left center;\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-position: right center;\n 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\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.btn-check[disabled] + .btn, .btn-check:disabled + .btn {\n pointer-events: none;\n filter: none;\n opacity: 0.65;\n}\n\n.form-file {\n --bs-form-file-height: calc(1.5em + 0.75rem + 2px);\n position: relative;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: var(--bs-form-file-height);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #86b7fe;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text,\n.form-file-input:disabled ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: var(--bs-form-file-height);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #212529;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-file-sm {\n --bs-form-file-height: calc(1.5em + 0.5rem + 2px);\n font-size: 0.875rem;\n}\n\n.form-file-sm .form-file-text,\n.form-file-sm .form-file-button {\n padding: 0.25rem 0.5rem;\n}\n\n.form-file-lg {\n --bs-form-file-height: calc(1.5em + 1rem + 2px);\n font-size: 1.25rem;\n}\n\n.form-file-lg .form-file-text,\n.form-file-lg .form-file-button {\n padding: 0.5rem 1rem;\n}\n\n.form-range {\n width: 100%;\n height: 1.5rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #b6d4fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #b6d4fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #b6d4fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled {\n pointer-events: none;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.form-floating {\n position: relative;\n}\n\n.form-floating > .form-control,\n.form-floating > .form-select {\n height: calc(3.5rem + 2px);\n padding: 1rem 0.75rem;\n}\n\n.form-floating > label {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n padding: 1rem 0.75rem;\n pointer-events: none;\n border: 1px solid transparent;\n transform-origin: 0 0;\n transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-floating > label {\n transition: none;\n }\n}\n\n.form-floating > .form-control::placeholder {\n color: transparent;\n}\n\n.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n\n.form-floating > .form-control:-webkit-autofill {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n\n.form-floating > .form-select {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-select ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n\n.form-floating > .form-control:-webkit-autofill ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n\n@supports (-ms-ime-align: auto) {\n .form-floating {\n display: flex;\n flex-direction: column-reverse;\n }\n .form-floating > label {\n position: static;\n padding: 0;\n margin-bottom: calc(1rem / 2);\n border: 0;\n transition: none;\n }\n .form-floating > .form-control::-ms-input-placeholder {\n color: #6c757d;\n }\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file > .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-file:not(:last-child) > .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) > .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group .btn:focus {\n z-index: 3;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #198754;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(25, 135, 84, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #198754;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #198754;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #198754;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #198754;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #198754;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #198754;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n}\n\n.btn-check:focus + .btn, .btn:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.btn:disabled, .btn.disabled,\nfieldset:disabled .btn {\n pointer-events: none;\n opacity: 0.65;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0b5ed7;\n border-color: #0a58ca;\n}\n\n.btn-check:focus + .btn-primary, .btn-primary:focus {\n color: #fff;\n background-color: #0b5ed7;\n border-color: #0a58ca;\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-check:checked + .btn-primary,\n.btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0a58ca;\n border-color: #0a53be;\n}\n\n.btn-check:checked + .btn-primary:focus,\n.btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary:disabled, .btn-primary.disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5c636a;\n border-color: #565e64;\n}\n\n.btn-check:focus + .btn-secondary, .btn-secondary:focus {\n color: #fff;\n background-color: #5c636a;\n border-color: #565e64;\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-check:checked + .btn-secondary,\n.btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #565e64;\n border-color: #51585e;\n}\n\n.btn-check:checked + .btn-secondary:focus,\n.btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary:disabled, .btn-secondary.disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-success {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #157347;\n border-color: #146c43;\n}\n\n.btn-check:focus + .btn-success, .btn-success:focus {\n color: #fff;\n background-color: #157347;\n border-color: #146c43;\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n\n.btn-check:checked + .btn-success,\n.btn-check:active + .btn-success, .btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #146c43;\n border-color: #13653f;\n}\n\n.btn-check:checked + .btn-success:focus,\n.btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-info {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-info:hover {\n color: #000;\n background-color: #31d2f2;\n border-color: #25cff2;\n}\n\n.btn-check:focus + .btn-info, .btn-info:focus {\n color: #000;\n background-color: #31d2f2;\n border-color: #25cff2;\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n\n.btn-check:checked + .btn-info,\n.btn-check:active + .btn-info, .btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #000;\n background-color: #3dd5f3;\n border-color: #25cff2;\n}\n\n.btn-check:checked + .btn-info:focus,\n.btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-warning {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #000;\n background-color: #ffca2c;\n border-color: #ffc720;\n}\n\n.btn-check:focus + .btn-warning, .btn-warning:focus {\n color: #000;\n background-color: #ffca2c;\n border-color: #ffc720;\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n\n.btn-check:checked + .btn-warning,\n.btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #000;\n background-color: #ffcd39;\n border-color: #ffc720;\n}\n\n.btn-check:checked + .btn-warning:focus,\n.btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #bb2d3b;\n border-color: #b02a37;\n}\n\n.btn-check:focus + .btn-danger, .btn-danger:focus {\n color: #fff;\n background-color: #bb2d3b;\n border-color: #b02a37;\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-check:checked + .btn-danger,\n.btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #b02a37;\n border-color: #a52834;\n}\n\n.btn-check:checked + .btn-danger:focus,\n.btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger:disabled, .btn-danger.disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-light {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n}\n\n.btn-check:focus + .btn-light, .btn-light:focus {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n\n.btn-check:checked + .btn-light,\n.btn-check:active + .btn-light, .btn-light:active, .btn-light.active,\n.show > .btn-light.dropdown-toggle {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n}\n\n.btn-check:checked + .btn-light:focus,\n.btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-dark {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #1c1f23;\n border-color: #1a1e21;\n}\n\n.btn-check:focus + .btn-dark, .btn-dark:focus {\n color: #fff;\n background-color: #1c1f23;\n border-color: #1a1e21;\n box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);\n}\n\n.btn-check:checked + .btn-dark,\n.btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1a1e21;\n border-color: #191c1f;\n}\n\n.btn-check:checked + .btn-dark:focus,\n.btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);\n}\n\n.btn-dark:disabled, .btn-dark.disabled {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-check:checked + .btn-outline-primary,\n.btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-check:checked + .btn-outline-primary:focus,\n.btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary:disabled, .btn-outline-primary.disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-check:checked + .btn-outline-secondary,\n.btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-check:checked + .btn-outline-secondary:focus,\n.btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-success {\n color: #198754;\n border-color: #198754;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n\n.btn-check:checked + .btn-outline-success,\n.btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-check:checked + .btn-outline-success:focus,\n.btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #198754;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-outline-info:hover {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n\n.btn-check:checked + .btn-outline-info,\n.btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-check:checked + .btn-outline-info:focus,\n.btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #0dcaf0;\n background-color: transparent;\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-check:checked + .btn-outline-warning,\n.btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-check:checked + .btn-outline-warning:focus,\n.btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:disabled, .btn-outline-warning.disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-check:checked + .btn-outline-danger,\n.btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-check:checked + .btn-outline-danger:focus,\n.btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger:disabled, .btn-outline-danger.disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-check:checked + .btn-outline-light,\n.btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-check:checked + .btn-outline-light:focus,\n.btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:disabled, .btn-outline-light.disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-dark {\n color: #212529;\n border-color: #212529;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n\n.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {\n box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);\n}\n\n.btn-check:checked + .btn-outline-dark,\n.btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n\n.btn-check:checked + .btn-outline-dark:focus,\n.btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);\n}\n\n.btn-outline-dark:disabled, .btn-outline-dark.disabled {\n color: #212529;\n background-color: transparent;\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: underline;\n}\n\n.btn-link:hover {\n color: #0a58ca;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xxl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #1e2125;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1rem;\n color: #212529;\n}\n\n.dropdown-menu-dark {\n color: #dee2e6;\n background-color: #343a40;\n border-color: rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item {\n color: #dee2e6;\n}\n\n.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {\n color: #adb5bd;\n}\n\n.dropdown-menu-dark .dropdown-divider {\n border-color: rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item-text {\n color: #dee2e6;\n}\n\n.dropdown-menu-dark .dropdown-header {\n color: #adb5bd;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:nth-child(n + 3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl, .navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n text-decoration: none;\n white-space: nowrap;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n align-items: center;\n width: 100%;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n transition: box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n\n.navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 0.25rem;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.55);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.55);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1rem 1rem;\n}\n\n.card-title {\n margin-bottom: 0.5rem;\n}\n\n.card-subtitle {\n margin-top: -0.25rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1rem;\n}\n\n.card-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.5rem 1rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.5rem;\n margin-bottom: -0.5rem;\n margin-left: -0.5rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-group > .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n float: left;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #dee2e6;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0a58ca;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n color: #0a58ca;\n background-color: #e9ecef;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.35em 0.65em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 1rem 1rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 3rem;\n}\n\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 1.25rem 1rem;\n}\n\n.alert-primary {\n color: #07377f;\n background-color: #cfe2ff;\n border-color: #b6d4fe;\n}\n\n.alert-primary .alert-link {\n color: #062c66;\n}\n\n.alert-secondary {\n color: #363b3f;\n background-color: #e2e3e5;\n border-color: #d3d6d8;\n}\n\n.alert-secondary .alert-link {\n color: #2b2f32;\n}\n\n.alert-success {\n color: #0d442a;\n background-color: #d1e7dd;\n border-color: #badbcc;\n}\n\n.alert-success .alert-link {\n color: #0a3622;\n}\n\n.alert-info {\n color: #076578;\n background-color: #cff4fc;\n border-color: #b6effb;\n}\n\n.alert-info .alert-link {\n color: #065160;\n}\n\n.alert-warning {\n color: #806104;\n background-color: #fff3cd;\n border-color: #ffecb5;\n}\n\n.alert-warning .alert-link {\n color: #664e03;\n}\n\n.alert-danger {\n color: #6e1b23;\n background-color: #f8d7da;\n border-color: #f5c2c7;\n}\n\n.alert-danger .alert-link {\n color: #58161c;\n}\n\n.alert-light {\n color: #7c7d7d;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #636464;\n}\n\n.alert-dark {\n color: #111315;\n background-color: #d3d3d4;\n border-color: #bcbebf;\n}\n\n.alert-dark .alert-link {\n color: #0e0f11;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n 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);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #07377f;\n background-color: #cfe2ff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #07377f;\n background-color: #bacbe6;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #07377f;\n border-color: #07377f;\n}\n\n.list-group-item-secondary {\n color: #363b3f;\n background-color: #e2e3e5;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #363b3f;\n background-color: #cbccce;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #363b3f;\n border-color: #363b3f;\n}\n\n.list-group-item-success {\n color: #0d442a;\n background-color: #d1e7dd;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #0d442a;\n background-color: #bcd0c7;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #0d442a;\n border-color: #0d442a;\n}\n\n.list-group-item-info {\n color: #076578;\n background-color: #cff4fc;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #076578;\n background-color: #badce3;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #076578;\n border-color: #076578;\n}\n\n.list-group-item-warning {\n color: #806104;\n background-color: #fff3cd;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #806104;\n background-color: #e6dbb9;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #806104;\n border-color: #806104;\n}\n\n.list-group-item-danger {\n color: #6e1b23;\n background-color: #f8d7da;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #6e1b23;\n background-color: #dfc2c4;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #6e1b23;\n border-color: #6e1b23;\n}\n\n.list-group-item-light {\n color: #7c7d7d;\n background-color: #fefefe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #7c7d7d;\n background-color: #e5e5e5;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #7c7d7d;\n border-color: #7c7d7d;\n}\n\n.list-group-item-dark {\n color: #111315;\n background-color: #d3d3d4;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #111315;\n background-color: #bebebf;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #111315;\n border-color: #111315;\n}\n\n.btn-close {\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: #000;\n background: transparent url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 16 16'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e\") no-repeat center center/1em auto;\n border: 0;\n border-radius: 0.25rem;\n opacity: 0.5;\n}\n\n.btn-close:hover {\n color: #000;\n text-decoration: none;\n opacity: 0.75;\n}\n\n.btn-close:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n opacity: 1;\n}\n\n.btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: 0.25;\n}\n\n.btn-close-white {\n filter: invert(1) grayscale(100%) brightness(200%);\n}\n\n.toast {\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.5rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-header .btn-close {\n margin-right: -0.375rem;\n margin-left: 0.75rem;\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .btn-close {\n padding: 0.5rem 0.5rem;\n margin: -0.5rem -0.5rem -0.5rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n\n.modal-fullscreen .modal-header {\n border-radius: 0;\n}\n\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f0f0f0;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f0f0f0;\n border-bottom: 1px solid #d8d8d8;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 1rem 1rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n\n.carousel-dark .carousel-indicators li {\n background-color: #000;\n}\n\n.carousel-dark .carousel-caption {\n color: #000;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border 0.75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow 0.75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n animation-duration: 1.5s;\n }\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #0a58ca;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #565e64;\n}\n\n.link-success {\n color: #198754;\n}\n\n.link-success:hover, .link-success:focus {\n color: #146c43;\n}\n\n.link-info {\n color: #0dcaf0;\n}\n\n.link-info:hover, .link-info:focus {\n color: #3dd5f3;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ffcd39;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #b02a37;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #f9fafb;\n}\n\n.link-dark {\n color: #212529;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #1a1e21;\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n\n.ratio::before {\n display: block;\n padding-top: var(--aspect-ratio);\n content: \"\";\n}\n\n.ratio > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --aspect-ratio: calc(3 / 4 * 100%);\n}\n\n.ratio-16x9 {\n --aspect-ratio: calc(9 / 16 * 100%);\n}\n\n.ratio-21x9 {\n --aspect-ratio: calc(9 / 21 * 100%);\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.left-0 {\n left: 0 !important;\n}\n\n.left-50 {\n left: 50% !important;\n}\n\n.left-100 {\n left: 100% !important;\n}\n\n.right-0 {\n right: 0 !important;\n}\n\n.right-50 {\n right: 50% !important;\n}\n\n.right-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translateX(-50%) translateY(-50%) !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #198754 !important;\n}\n\n.border-info {\n border-color: #0dcaf0 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #212529 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.border-0 {\n border-width: 0 !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.fs-1 {\n font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25rem !important;\n}\n\n.fs-6 {\n font-size: 1rem !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #198754 !important;\n}\n\n.text-info {\n color: #0dcaf0 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #212529 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #198754 !important;\n}\n\n.bg-info {\n background-color: #0dcaf0 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #212529 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1400px) {\n .float-xxl-left {\n float: left !important;\n }\n .float-xxl-right {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n .text-xxl-left {\n text-align: left !important;\n }\n .text-xxl-right {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5rem !important;\n }\n .fs-2 {\n font-size: 2rem !important;\n }\n .fs-3 {\n font-size: 1.75rem !important;\n }\n .fs-4 {\n font-size: 1.5rem !important;\n }\n .fs-sm-1 {\n font-size: 2.5rem !important;\n }\n .fs-sm-2 {\n font-size: 2rem !important;\n }\n .fs-sm-3 {\n font-size: 1.75rem !important;\n }\n .fs-sm-4 {\n font-size: 1.5rem !important;\n }\n .fs-md-1 {\n font-size: 2.5rem !important;\n }\n .fs-md-2 {\n font-size: 2rem !important;\n }\n .fs-md-3 {\n font-size: 1.75rem !important;\n }\n .fs-md-4 {\n font-size: 1.5rem !important;\n }\n .fs-lg-1 {\n font-size: 2.5rem !important;\n }\n .fs-lg-2 {\n font-size: 2rem !important;\n }\n .fs-lg-3 {\n font-size: 1.75rem !important;\n }\n .fs-lg-4 {\n font-size: 1.5rem !important;\n }\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n// 4. Disable auto-hiding scrollbar in legacy Edge to avoid overlap,\n// making it impossible to interact with the content\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n -ms-overflow-style: scrollbar; // 4\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Correct the text wrapping in Edge.\n// 3. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n white-space: normal; // 2\n\n + * {\n clear: left; // 3\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer / 4,\n 2: $spacer / 2,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: scale-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-widths: (\n 0: 0,\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n\n$table-variants: (\n \"primary\": scale-color($primary, $table-bg-scale),\n \"secondary\": scale-color($secondary, $table-bg-scale),\n \"success\": scale-color($success, $table-bg-scale),\n \"info\": scale-color($info, $table-bg-scale),\n \"warning\": scale-color($warning, $table-bg-scale),\n \"danger\": scale-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: background-color .15s ease-in-out, background-position .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n$form-file-padding-y-sm: $input-padding-y-sm !default;\n$form-file-padding-x-sm: $input-padding-x-sm !default;\n$form-file-font-size-sm: $input-font-size-sm !default;\n$form-file-height-sm: $input-height-sm !default;\n\n$form-file-padding-y-lg: $input-padding-y-lg !default;\n$form-file-padding-x-lg: $input-padding-x-lg !default;\n$form-file-font-size-lg: $input-font-size-lg !default;\n$form-file-height-lg: $input-height-lg !default;\n\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' 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'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: null !default;\n$nav-link-hover-color: null !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($gray-900, 10%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: $spacer / 4 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n// Cards\n\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer / 2 !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y / 2 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: $spacer !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer / 4 !default;\n$tooltip-padding-x: $spacer / 2 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: $spacer !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 50% !default;\n\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer / 2 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 50% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: $spacer / 2 !default;\n$breadcrumb-padding-x: $spacer !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-border-radius: $border-radius !default;\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$btn-close-color}' viewBox='0 0 16 16'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n @if length($map) > 0 {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n }\n}\n\n// Internal Bootstrap function to turn maps into its negative variant.\n// It prefixes the keys with `n` and makes the value negative.\n@function negativify-map($map) {\n $result: ();\n @each $key, $value in $map {\n @if $key != 0 {\n $result: map-merge($result, (\"n\" + $key: (-$value)));\n }\n }\n @return $result;\n}\n\n// Get multiple keys from a sass map\n@function map-get-multiple($map, $values) {\n $result: ();\n @each $key, $value in $map {\n @if (index($values, $key) != null) {\n $result: map-merge($result, ($key: $value));\n }\n }\n @return $result;\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n//\n// Requires the use of quotes around data URIs.\n\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n // Do not escape the url brackets\n @if str-index($string, \"url(\") == 1 {\n $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n } @else {\n $string: str-replace($string, $char, $encoded);\n }\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n// See https://github.com/twbs/bootstrap/pull/30168\n\n// A list of pre-calculated numbers of pow(($value / 255 + .055) / 1.055, 2.4). (from 0 to 255)\n// stylelint-disable-next-line scss/dollar-variable-default, scss/dollar-variable-pattern\n$_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1;\n\n@function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light, $min-contrast-ratio: $min-contrast-ratio) {\n $foregrounds: $color-contrast-light, $color-contrast-dark, $white, $black;\n $max-ratio: 0;\n $max-ratio-color: null;\n\n @each $color in $foregrounds {\n $contrast-ratio: contrast-ratio($background, $color);\n @if $contrast-ratio > $min-contrast-ratio {\n @return $color;\n } @else if $contrast-ratio > $max-ratio {\n $max-ratio: $contrast-ratio;\n $max-ratio-color: $color;\n }\n }\n\n @warn \"Found no color leading to #{$min-contrast-ratio}:1 contrast ratio against #{$background}...\";\n\n @return $max-ratio-color;\n}\n\n@function contrast-ratio($background, $foreground: $color-contrast-light) {\n $l1: luminance($background);\n $l2: luminance(opaque($background, $foreground));\n\n @return if($l1 > $l2, ($l1 + .05) / ($l2 + .05), ($l2 + .05) / ($l1 + .05));\n}\n\n// Return WCAG2.0 relative luminance\n// See https://www.w3.org/WAI/GL/wiki/Relative_luminance\n// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n@function luminance($color) {\n $rgb: (\n \"r\": red($color),\n \"g\": green($color),\n \"b\": blue($color)\n );\n\n @each $name, $value in $rgb {\n $value: if($value / 255 < .03928, $value / 255 / 12.92, nth($_luminance-list, $value + 1));\n $rgb: map-merge($rgb, ($name: $value));\n }\n\n @return (map-get($rgb, \"r\") * .2126) + (map-get($rgb, \"g\") * .7152) + (map-get($rgb, \"b\") * .0722);\n}\n\n// Return opaque color\n// opaque(#fff, rgba(0, 0, 0, .5)) => #808080\n@function opaque($background, $foreground) {\n @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100);\n}\n\n// scss-docs-start color-functions\n// Tint a color: mix a color with white\n@function tint-color($color, $weight) {\n @return mix(white, $color, $weight);\n}\n\n// Shade a color: mix a color with black\n@function shade-color($color, $weight) {\n @return mix(black, $color, $weight);\n}\n\n// Scale a color:\n// Shade the color if the weight is positive, else tint it\n@function scale-color($color, $weight) {\n @return if($weight > 0, shade-color($color, $weight), tint-color($color, -$weight));\n}\n// scss-docs-end color-functions\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n@each $display, $font-size in $display-font-sizes {\n .display-#{$display} {\n @include font-size($font-size);\n font-weight: $display-font-weight;\n line-height: $display-line-height;\n }\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-font-size);\n\n > :last-child {\n margin-bottom: 0;\n }\n}\n\n.blockquote-footer {\n margin-top: -$blockquote-margin-y;\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-footer-font-size);\n color: $blockquote-footer-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --bs-gutter-x: #{$gutter};\n\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-prefix}gutter-y);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n --#{$variable-prefix}table-bg: #{$table-bg};\n --#{$variable-prefix}table-accent-bg: transparent;\n --#{$variable-prefix}table-striped-color: #{$table-striped-color};\n --#{$variable-prefix}table-striped-bg: #{$table-striped-bg};\n --#{$variable-prefix}table-active-color: #{$table-active-color};\n --#{$variable-prefix}table-active-bg: #{$table-active-bg};\n --#{$variable-prefix}table-hover-color: #{$table-hover-color};\n --#{$variable-prefix}table-hover-bg: #{$table-hover-bg};\n\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n border-color: $table-border-color;\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y $table-cell-padding-x;\n background-color: var(--#{$variable-prefix}table-bg);\n background-image: linear-gradient(var(--#{$variable-prefix}table-accent-bg), var(--#{$variable-prefix}table-accent-bg));\n border-bottom-width: $table-border-width;\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n\n // Highlight border color between thead, tbody and tfoot.\n > :not(:last-child) > :last-child > * {\n border-bottom-color: $table-group-separator-color;\n }\n}\n\n\n//\n// Change placement of captions with a class\n//\n\n.caption-top {\n caption-side: top;\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n//\n// When borders are added on all sides of the cells, the corners can render odd when\n// these borders do not have the same color or if they are semi-transparent.\n// Therefor we add top and border bottoms to the `tr`s and left and right borders\n// to the `td`s or `th`s\n\n.table-bordered {\n > :not(caption) > * {\n border-width: $table-border-width 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 $table-border-width;\n }\n }\n}\n\n.table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-bottom-width: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) {\n --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-striped-bg);\n color: var(--#{$variable-prefix}table-striped-color);\n }\n}\n\n// Active table\n//\n// The `.table-active` class can be added to highlight rows or cells\n\n.table-active {\n --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-active-bg);\n color: var(--#{$variable-prefix}table-active-color);\n}\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-hover-bg);\n color: var(--#{$variable-prefix}table-hover-color);\n }\n}\n\n\n// Table variants\n//\n// Table variants set the table cell backgrounds, border colors\n// and the colors of the striped, hovered & active tables\n\n@each $color, $value in $table-variants {\n @include table-variant($color, $value);\n}\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @include media-breakpoint-down($breakpoint) {\n .table-responsive#{$infix} {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n","// scss-docs-start table-variant\n@mixin table-variant($state, $background) {\n .table-#{$state} {\n $color: color-contrast(opaque($body-bg, $background));\n $hover-bg: mix($color, $background, percentage($table-hover-bg-factor));\n $striped-bg: mix($color, $background, percentage($table-striped-bg-factor));\n $active-bg: mix($color, $background, percentage($table-active-bg-factor));\n\n --#{$variable-prefix}table-bg: #{$background};\n --#{$variable-prefix}table-striped-bg: #{$striped-bg};\n --#{$variable-prefix}table-striped-color: #{color-contrast($striped-bg)};\n --#{$variable-prefix}table-active-bg: #{$active-bg};\n --#{$variable-prefix}table-active-color: #{color-contrast($active-bg)};\n --#{$variable-prefix}table-hover-bg: #{$hover-bg};\n --#{$variable-prefix}table-hover-color: #{color-contrast($hover-bg)};\n\n color: $color;\n border-color: mix($color, $background, percentage($table-border-factor));\n }\n}\n// scss-docs-end table-variant\n","//\n// Labels\n//\n\n.form-label {\n margin-bottom: $form-label-margin-bottom;\n @include font-size($form-label-font-size);\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n color: $form-label-color;\n}\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n line-height: $input-line-height;\n color: $form-label-color;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n}\n","//\n// Form text\n//\n\n.form-text {\n margin-top: $form-text-margin-top;\n @include font-size($form-text-font-size);\n font-style: $form-text-font-style;\n font-weight: $form-text-font-weight;\n color: $form-text-color;\n}\n","//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n min-height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n appearance: none; // Fix appearance for date inputs in Safari\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: $input-padding-y;\n}\n\n.form-control-color::-moz-color-swatch {\n @include border-radius($input-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n @include border-radius($input-border-radius);\n}\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: block;\n width: 100%;\n min-height: $form-select-height;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background-color: $form-select-bg;\n background-image: escape-svg($form-select-indicator);\n background-repeat: no-repeat;\n background-position: $form-select-bg-position;\n background-size: $form-select-bg-size;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($form-select-box-shadow, $form-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $form-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n height: $form-select-height-sm;\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n height: $form-select-height-lg;\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-left * -1;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height\n vertical-align: top;\n background-color: $form-check-input-bg;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: $form-check-input-border;\n appearance: none;\n color-adjust: exact; // Keep themed appearance for print\n @include transition($form-check-transition);\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $form-check-radio-border-radius;\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n }\n\n &[type=\"radio\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n border-color: $form-check-input-indeterminate-border-color;\n\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n }\n }\n\n &:disabled {\n pointer-events: none;\n filter: none;\n opacity: $form-check-input-disabled-opacity;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .form-check-label {\n opacity: $form-check-label-disabled-opacity;\n }\n }\n}\n\n.form-check-label {\n color: $form-check-label-color;\n cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-position: left center;\n @include border-radius($form-switch-border-radius);\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-position: $form-switch-checked-bg-position;\n\n @if $enable-gradients {\n background-image: escape-svg($form-switch-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-switch-checked-bg-image);\n }\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n\n &[disabled],\n &:disabled {\n + .btn {\n pointer-events: none;\n filter: none;\n opacity: $form-check-btn-check-disabled-opacity;\n }\n }\n}\n",".form-file {\n --#{$variable-prefix}form-file-height: #{$form-file-height};\n position: relative;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: var(--#{$variable-prefix}form-file-height);\n margin: 0;\n opacity: 0;\n\n &:focus-within ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-file-label .form-file-text,\n &:disabled ~ .form-file-label .form-file-text {\n background-color: $form-file-disabled-bg;\n border-color: $form-file-disabled-border-color;\n }\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: var(--#{$variable-prefix}form-file-height);\n border-color: $form-file-border-color;\n @include border-radius($form-file-border-radius);\n @include box-shadow($form-file-box-shadow);\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: $form-file-padding-y $form-file-padding-x;\n overflow: hidden;\n font-family: $form-file-font-family;\n font-weight: $form-file-font-weight;\n line-height: $form-file-line-height;\n color: $form-file-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: $form-file-bg;\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-left-radius(inherit);\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: $form-file-padding-y $form-file-padding-x;\n margin-left: -$form-file-border-width;\n line-height: $form-file-line-height;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-right-radius(inherit);\n}\n\n.form-file-sm {\n --#{$variable-prefix}form-file-height: #{$form-file-height-sm};\n @include font-size($form-file-font-size-sm);\n\n .form-file-text,\n .form-file-button {\n padding: $form-file-padding-y-sm $form-file-padding-x-sm;\n }\n}\n\n.form-file-lg {\n --#{$variable-prefix}form-file-height: #{$form-file-height-lg};\n @include font-size($form-file-font-size-lg);\n\n .form-file-text,\n .form-file-button {\n padding: $form-file-padding-y-lg $form-file-padding-x-lg;\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--#{$variable-prefix}gradient);\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $form-range-thumb-height / 2;\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-ms-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n","// stylelint-disable selector-no-vendor-prefix\n\n.form-floating {\n position: relative;\n\n > .form-control,\n > .form-select {\n height: $form-floating-height;\n padding: $form-floating-padding-y $form-floating-padding-x;\n }\n\n > label {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%; // allow textareas\n padding: $form-floating-padding-y $form-floating-padding-x;\n pointer-events: none;\n border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model\n transform-origin: 0 0;\n @include transition($form-floating-transition);\n }\n\n // stylelint-disable no-duplicate-selectors\n > .form-control {\n &::placeholder {\n color: transparent;\n }\n\n &:focus,\n &:not(:placeholder-shown) {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n &:-webkit-autofill {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n }\n\n > .form-select {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n\n > .form-control:focus,\n > .form-control:not(:placeholder-shown),\n > .form-select {\n ~ label {\n opacity: $form-floating-label-opacity;\n transform: $form-floating-label-transform;\n }\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n > .form-control:-webkit-autofill {\n ~ label {\n opacity: $form-floating-label-opacity;\n transform: $form-floating-label-transform;\n }\n }\n // stylelint-enable no-duplicate-selectors\n}\n\n\n//\n// Fallback for classic Edge\n//\n\n@supports (-ms-ime-align: auto) {\n .form-floating {\n display: flex;\n flex-direction: column-reverse;\n }\n .form-floating > label {\n position: static;\n padding: 0;\n margin-bottom: calc(#{$form-floating-padding-y} / 2); // stylelint-disable-line function-disallowed-list\n border: 0;\n @include transition(none);\n }\n .form-floating > .form-control::-ms-input-placeholder {\n color: $input-placeholder-color;\n }\n}\n","//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .form-file {\n > .form-file-input:focus {\n z-index: 4;\n }\n\n &:not(:last-child) > .form-file-label {\n @include border-right-radius(0);\n }\n\n &:not(:first-child) > .form-file-label {\n @include border-left-radius(0);\n }\n }\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n @include font-size($input-font-size); // Match inputs\n font-weight: $input-group-addon-font-weight;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control {\n min-height: $input-height-lg;\n}\n\n.input-group-lg > .form-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control {\n min-height: $input-height-sm;\n}\n\n.input-group-sm > .form-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.input-group {\n &:not(.has-validation) {\n > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 3) {\n @include border-right-radius(0);\n }\n }\n\n &.has-validation {\n > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 4) {\n @include border-right-radius(0);\n }\n }\n\n $validation-messages: \"\";\n @each $state in map-keys($form-validation-states) {\n $validation-messages: $validation-messages + \":not(.\" + unquote($state) + \"-tooltip)\" + \":not(.\" + unquote($state) + \"-feedback)\";\n }\n\n > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n margin-left: -$input-border-width;\n @include border-left-radius(0);\n }\n}\n","// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n font-style: $form-feedback-font-style;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-contrast($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, $input-btn-focus-color-opacity);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background-image: escape-svg($form-select-indicator), escape-svg($icon);\n background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n background-color: $color;\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n // custom file\n .form-file-input {\n @include form-validation-state-selector($state) {\n ~ .form-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .form-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-line-height;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-button-pointers, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n .btn-check:focus + &,\n &:focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n pointer-events: none;\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant(\n $background,\n $border,\n $color: color-contrast($background),\n $hover-background: if($color == $color-contrast-light, shade-color($background, 15%), tint-color($background, 15%)),\n $hover-border: if($color == $color-contrast-light, shade-color($border, 20%), tint-color($border, 10%)),\n $hover-color: color-contrast($hover-background),\n $active-background: if($color == $color-contrast-light, shade-color($background, 20%), tint-color($background, 20%)),\n $active-border: if($color == $color-contrast-light, shade-color($border, 25%), tint-color($border, 10%)),\n $active-color: color-contrast($active-background),\n $disabled-background: $background,\n $disabled-border: $border,\n $disabled-color: color-contrast($disabled-background)\n) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n .show > &.dropdown-toggle {\n color: $active-color;\n background-color: $active-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $disabled-color;\n background-color: $disabled-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $disabled-border;\n }\n}\n\n@mixin button-outline-variant(\n $color,\n $color-hover: color-contrast($color),\n $active-background: $color,\n $active-border: $color,\n $active-color: color-contrast($active-background)\n) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n &.dropdown-toggle.show {\n color: $active-color;\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $color;\n background-color: transparent;\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n// scss-docs-start responsive-breakpoints\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n// scss-docs-end responsive-breakpoints\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n\n// Dark dropdowns\n.dropdown-menu-dark {\n color: $dropdown-dark-color;\n background-color: $dropdown-dark-bg;\n border-color: $dropdown-dark-border-color;\n @include box-shadow($dropdown-dark-box-shadow);\n\n .dropdown-item {\n color: $dropdown-dark-link-color;\n\n &:hover,\n &:focus {\n color: $dropdown-dark-link-hover-color;\n @include gradient-bg($dropdown-dark-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-dark-link-active-color;\n @include gradient-bg($dropdown-dark-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-dark-link-disabled-color;\n }\n }\n\n .dropdown-divider {\n border-color: $dropdown-dark-divider-bg;\n }\n\n .dropdown-item-text {\n color: $dropdown-dark-link-color;\n }\n\n .dropdown-header {\n color: $dropdown-dark-header-color;\n }\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n }\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n > .btn-check:checked + .btn,\n > .btn-check:focus + .btn,\n > .btn:hover,\n > .btn:focus,\n > .btn:active,\n > .btn.active {\n z-index: 1;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n // The left radius should be 0 if the button is:\n // - the \"third or more\" child\n // - the second child and the previous element isn't `.btn-check` (making it the first child visually)\n // - part of a btn-group which isn't the first child\n > .btn:nth-child(n + 3),\n > :not(.btn-check) + .btn,\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n @include font-size($nav-link-font-size);\n font-weight: $nav-link-font-weight;\n color: $nav-link-color;\n text-decoration: if($link-decoration == none, null, none);\n @include transition($nav-link-transition);\n\n &:hover,\n &:focus {\n color: $nav-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n margin-bottom: -$nav-tabs-border-width;\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n @include gradient-bg($nav-pills-link-active-bg);\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding-top: $navbar-padding-y;\n padding-right: $navbar-padding-x; // default: null\n padding-bottom: $navbar-padding-y;\n padding-left: $navbar-padding-x; // default: null\n @include gradient-bg();\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n // The `flex-wrap` property is inherited to simplify the expanded navbars\n %container-flex-properties {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-brand-margin-right;\n @include font-size($navbar-brand-font-size);\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n width: 100%;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n @include transition($navbar-toggler-transition);\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 $navbar-toggler-focus-width;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n // stylelint-disable-next-line scss/selector-no-union-class-name\n &#{$infix} {\n @include media-breakpoint-up($next) {\n flex-wrap: nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-y $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-title-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-title-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-cap-padding-y $card-cap-padding-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-cap-padding-y $card-cap-padding-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-cap-padding-x / 2;\n margin-bottom: -$card-cap-padding-y;\n margin-left: -$card-cap-padding-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-cap-padding-x / 2;\n margin-left: -$card-cap-padding-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n overflow-anchor: none;\n\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n float: left; // Suppress inline spacings and underlining of the separator\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n @include transition($pagination-transition);\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n color: $pagination-focus-color;\n background-color: $pagination-focus-bg;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n @include gradient-bg($pagination-active-bg);\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include gradient-bg();\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $alert-dismissible-padding-r;\n\n // Adjust close link position\n .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: $stretched-link-z-index + 1;\n padding: $alert-padding-y * 1.25 $alert-padding-x;\n }\n}\n\n\n// scss-docs-start alert-modifiers\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(scale-color($value, $alert-bg-scale), scale-color($value, $alert-border-scale), scale-color($value, $alert-color-scale));\n }\n}\n// scss-docs-end alert-modifiers\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: shade-color($color, 20%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// scss-docs-start list-group-modifiers\n// List group contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, scale-color($value, $list-group-item-bg-scale), scale-color($value, $list-group-item-color-scale));\n}\n// scss-docs-end list-group-modifiers\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: shade-color($background, 10%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n","// transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n.btn-close {\n box-sizing: content-box;\n width: $btn-close-width;\n height: $btn-close-height;\n padding: $btn-close-padding-y $btn-close-padding-x;\n color: $btn-close-color;\n background: transparent escape-svg($btn-close-bg) no-repeat center center / $btn-close-width auto; // include transparent for button elements\n border: 0; // for button elements\n @include border-radius();\n opacity: $btn-close-opacity;\n\n // Override <a>'s hover style\n &:hover {\n color: $btn-close-color;\n text-decoration: none;\n opacity: $btn-close-hover-opacity;\n }\n\n &:focus {\n outline: none;\n box-shadow: $btn-close-focus-shadow;\n opacity: $btn-close-focus-opacity;\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n user-select: none;\n opacity: $btn-close-disabled-opacity;\n }\n}\n\n.btn-close-white {\n filter: $btn-close-white-filter;\n}\n",".toast {\n max-width: $toast-max-width;\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n @include border-top-radius(subtract($toast-border-radius, $toast-border-width));\n\n .btn-close {\n margin-right: $toast-padding-x / -2;\n margin-left: $toast-padding-x;\n }\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: 100%;\n overflow: hidden;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .btn-close {\n padding: ($modal-header-padding-y / 2) ($modal-header-padding-x / 2);\n margin: ($modal-header-padding-y / -2) ($modal-header-padding-x / -2) ($modal-header-padding-y / -2) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n $postfix: if($infix != \"\", $infix + \"-down\", \"\");\n\n @include media-breakpoint-down($breakpoint) {\n .modal-fullscreen#{$postfix} {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n\n .modal-content {\n height: 100%;\n border: 0;\n @include border-radius(0);\n }\n\n .modal-header {\n @include border-radius(0);\n }\n\n .modal-body {\n overflow-y: auto;\n }\n\n .modal-footer {\n @include border-radius(0);\n }\n }\n }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid shade-color($popover-header-bg, 10%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n}\n.carousel-control-next {\n right: 0;\n background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: $carousel-caption-spacer;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: $carousel-caption-padding-y;\n padding-bottom: $carousel-caption-padding-y;\n color: $carousel-caption-color;\n text-align: center;\n}\n\n// Dark mode carousel\n\n.carousel-dark {\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n filter: $carousel-dark-control-icon-filter;\n }\n\n .carousel-indicators li {\n background-color: $carousel-dark-indicator-active-bg;\n }\n\n .carousel-caption {\n color: $carousel-dark-caption-color;\n }\n}\n","// scss-docs-start clearfix\n@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n// scss-docs-end clearfix\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: spinner-border $spinner-animation-speed linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow $spinner-animation-speed linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n\n@if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n animation-duration: $spinner-animation-speed * 2;\n }\n }\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $link-shade-percentage != 0 {\n &:hover,\n &:focus {\n color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.ratio {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n padding-top: var(--aspect-ratio);\n content: \"\";\n }\n\n > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n@each $key, $ratio in $aspect-ratios {\n .ratio-#{$key} {\n --aspect-ratio: #{$ratio};\n }\n}\n","// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n }\n}\n","//\n// Visually hidden\n//\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus) {\n @include visually-hidden();\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin visually-hidden-focusable() {\n &:not(:focus) {\n @include visually-hidden();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/js/bootstrap.bundle.js b/dist/js/bootstrap.bundle.js
index 4767e2f826..ec2a964888 100644
--- a/dist/js/bootstrap.bundle.js
+++ b/dist/js/bootstrap.bundle.js
@@ -975,17 +975,6 @@
top: element.offsetTop,
left: element.offsetLeft
};
- },
- toggleClass: function toggleClass(element, className) {
- if (!element) {
- return;
- }
-
- if (element.classList.contains(className)) {
- element.classList.remove(className);
- } else {
- element.classList.add(className);
- }
}
};
@@ -4844,8 +4833,10 @@
this._element.setAttribute('aria-expanded', true);
- Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW$1);
- Manipulator.toggleClass(this._element, CLASS_NAME_SHOW$1);
+ this._menu.classList.toggle(CLASS_NAME_SHOW$1);
+
+ this._element.classList.toggle(CLASS_NAME_SHOW$1);
+
EventHandler.trigger(parent, EVENT_SHOWN$1, relatedTarget);
};
@@ -4868,8 +4859,10 @@
this._popper.destroy();
}
- Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW$1);
- Manipulator.toggleClass(this._element, CLASS_NAME_SHOW$1);
+ this._menu.classList.toggle(CLASS_NAME_SHOW$1);
+
+ this._element.classList.toggle(CLASS_NAME_SHOW$1);
+
EventHandler.trigger(parent, EVENT_HIDDEN$1, relatedTarget);
};
diff --git a/dist/js/bootstrap.bundle.js.map b/dist/js/bootstrap.bundle.js.map
index 832a5d4730..bda4619c3c 100644
--- a/dist/js/bootstrap.bundle.js.map
+++ b/dist/js/bootstrap.bundle.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.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"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\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 {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\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) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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 mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\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 EventHandler.off(element, event.type, 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 // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\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 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.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\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.charAt(0) === '.'\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.indexOf(handlerKey) > -1) {\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 typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\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 if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\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.0-alpha2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-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 CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha2'\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-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 {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${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 toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.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 (this.matches(ancestor, 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 (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha2'\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 DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\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_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\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._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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 if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\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._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 direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...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 // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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 && PointerType[event.pointerType.toUpperCase()]) {\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 if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\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 switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\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 _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\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 indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\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\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 nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\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 (!data) {\n data = new Carousel(element, _config)\n }\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-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha2'\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-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${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 === 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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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 ||\n 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-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.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : 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.setData(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\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 if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-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 = Data.getData(element, DATA_KEY)\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 <a> elements (which change the URL) not inside the collapsible element\n if (event.target.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 = Data.getData(element, DATA_KEY)\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\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha2'\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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\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 = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || 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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (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 = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\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', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !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 hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\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 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 let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(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 Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (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 parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\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', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, 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 event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha2'\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 show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: '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_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\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-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\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) {\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 transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\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 Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n 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 (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\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._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\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 this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _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](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 (this.tagName === 'A' || this.tagName === 'AREA') {\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 let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\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):|[^#&/:?]*(?:[#/?]|$))/gi\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.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\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 (attrName.match(regExp[i])) {\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.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\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.0-alpha2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\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 Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha2'\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 = ['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: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\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 {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\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.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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 dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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 Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\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 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._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(CLASS_NAME_SHOW)\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 if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\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 (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\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-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 // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\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,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\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,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\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}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\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 titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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) ||\n 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 const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\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.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha2'\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 trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\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 VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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 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}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n 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 let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n isElement,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha2'\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-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 {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : 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, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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 Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\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 +\n scrollHeight -\n 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' ||\n 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-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 <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _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](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","add","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","_extends","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","focus","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","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","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":"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AAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAChE;EACA,EAAE,IAAI,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AACrE;EACA,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,cAAc,GAAG,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5H;EACA,EAAE,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;EACnD,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAC9C;EACA,EAAE,OAAO,IAAI,CAAC;EACd,CAAC;AACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,SAAS,GAAG;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,EAAE;EACV;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,MAAM;EACd;EACA;EACA;EACA,IAAI,MAAM,EAAE,CAAC;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE;EACnB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,cAAc,EAAE,KAAK;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,uBAAuB,EAAE,KAAK;EAClC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA,IAAI,MAAM,EAAE,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,SAAS;EAC9B,GAAG;EACH,CAAC,CAAC;AACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,GAAG;EACf;EACA;EACA;EAC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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.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"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\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 {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\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) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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 mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\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 EventHandler.off(element, event.type, 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 // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\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 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.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\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.charAt(0) === '.'\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.indexOf(handlerKey) > -1) {\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 typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\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 if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\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.0-alpha2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-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 CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha2'\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-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 {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${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.0-alpha2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.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 (this.matches(ancestor, 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 (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha2'\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 DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\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_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\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._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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 if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\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._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 direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...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 // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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 && PointerType[event.pointerType.toUpperCase()]) {\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 if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\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 switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\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 _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\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 indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\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\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 nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\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 (!data) {\n data = new Carousel(element, _config)\n }\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-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha2'\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-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${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 === 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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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 ||\n 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-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.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : 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.setData(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\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 if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-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 = Data.getData(element, DATA_KEY)\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 <a> elements (which change the URL) not inside the collapsible element\n if (event.target.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 = Data.getData(element, DATA_KEY)\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\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha2'\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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\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 = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || 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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (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 = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\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', null, 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(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !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 hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\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 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 let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(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 Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (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 parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\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', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, 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 event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha2'\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 show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: '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_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\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-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\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) {\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 transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\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 Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n 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 (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\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._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\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 this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _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](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 (this.tagName === 'A' || this.tagName === 'AREA') {\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 let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\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):|[^#&/:?]*(?:[#/?]|$))/gi\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.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\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 (attrName.match(regExp[i])) {\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.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\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.0-alpha2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\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 Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha2'\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 = ['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: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\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 {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\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.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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 dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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 Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\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 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._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(CLASS_NAME_SHOW)\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 if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\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 (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\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-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 // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\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,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\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,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\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}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\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 titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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) ||\n 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 const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\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.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha2'\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 trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\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 VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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 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}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n 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 let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n isElement,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha2'\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-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 {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : 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, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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 Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\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 +\n scrollHeight -\n 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' ||\n 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-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 <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _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](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","add","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","_extends","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","focus","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","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","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":"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EACA,IAAI,EAAE,EAAE,MAAM;EACd;EACA;EACA;EACA,IAAI,MAAM,EAAE,CAAC;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE;EACnB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,cAAc,EAAE,KAAK;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,uBAAuB,EAAE,KAAK;EAClC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA,IAAI,MAAM,EAAE,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,SAAS;EAC9B,GAAG;EACH,CAAC,CAAC;AACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,GAAG;EACf;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,QAAQ;AACrB;EACA;EACA;EACA;EACA;EACA,EAAE,aAAa,EAAE,KAAK;AACtB;EACA;EACA;EACA;EACA;EACA,EAAE,aAAa,EAAE,IAAI;AACrB;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE,KAAK;AACxB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,GAAG,EAAE;AAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,GAAG,EAAE;AAClC;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,SAAS;EACtB,CAAC,CAAC;AACF;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA,IAAI,MAAM,GAAG,YAAY;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE;EACrC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACrB;EACA,IAAI,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;EACzF,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACjC;EACA,IAAI,IAAI,CAAC,cAAc,GAAG,YAAY;EACtC,MAAM,OAAO,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;EACjD,KAAK,CAAC;AACN;EACA;EACA,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD;EACA;EACA,IAAI,IAAI,CAAC,OAAO,GAAGuV,UAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1D;EACA;EACA,IAAI,IAAI,CAAC,KAAK,GAAG;EACjB,MAAM,WAAW,EAAE,KAAK;EACxB,MAAM,SAAS,EAAE,KAAK;EACtB,MAAM,aAAa,EAAE,EAAE;EACvB,KAAK,CAAC;AACN;EACA;EACA,IAAI,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;EAC9E,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAC/D;EACA;EACA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;EAChC,IAAI,MAAM,CAAC,IAAI,CAACA,UAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;EACpG,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAGA,UAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;EAC5I,KAAK,CAAC,CAAC;AACP;EACA;EACA,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE;EAC7E,MAAM,OAAOA,UAAQ,CAAC;EACtB,QAAQ,IAAI,EAAE,IAAI;EAClB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;EACxC,KAAK,CAAC;EACN;EACA,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;EAC1B,MAAM,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;EAC/B,KAAK,CAAC,CAAC;AACP;EACA;EACA;EACA;EACA;EACA,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,eAAe,EAAE;EACtD,MAAM,IAAI,eAAe,CAAC,OAAO,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;EACzE,QAAQ,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;EAC3G,OAAO;EACP,KAAK,CAAC,CAAC;AACP;EACA;EACA,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB;EACA,IAAI,IAAI,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;EACnD,IAAI,IAAI,aAAa,EAAE;EACvB;EACA,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;EAClC,KAAK;AACL;EACA,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;EAC7C,GAAG;AACH;EACA;EACA;AACA;AACA;EACA,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;EACvB,IAAI,GAAG,EAAE,QAAQ;EACjB,IAAI,KAAK,EAAE,SAAS,SAAS,GAAG;EAChC,MAAM,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC/B,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,SAAS;EAClB,IAAI,KAAK,EAAE,SAAS,UAAU,GAAG;EACjC,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAChC,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,sBAAsB;EAC/B,IAAI,KAAK,EAAE,SAAS,uBAAuB,GAAG;EAC9C,MAAM,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC7C,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,uBAAuB;EAChC,IAAI,KAAK,EAAE,SAAS,wBAAwB,GAAG;EAC/C,MAAM,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC9C,KAAK;AACL;EACA;EACA;EACA;EACA;EACA;AACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA,GAAG,CAAC,CAAC,CAAC;EACN,EAAE,OAAO,MAAM,CAAC;EAChB,CAAC,EAAE,CAAC;AACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;AACA;EACA,MAAM,CAAC,KAAK,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,EAAE,WAAW,CAAC;EAC7E,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;EAC/B,MAAM,CAAC,QAAQ,GAAG,QAAQ;;EC/hF1B;EACA;EACA;EACA;EACA;;EAEA,IAAM5P,MAAI,GAAG,UAAb;EACA,IAAMC,SAAO,GAAG,cAAhB;EACA,IAAMC,UAAQ,GAAG,aAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EAEA,IAAMyP,UAAU,GAAG,QAAnB;EACA,IAAMC,SAAS,GAAG,OAAlB;EACA,IAAMC,OAAO,GAAG,KAAhB;EACA,IAAMC,YAAY,GAAG,SAArB;EACA,IAAMC,cAAc,GAAG,WAAvB;EACA,IAAMC,kBAAkB,GAAG,CAA3B;;EAEA,IAAMC,cAAc,GAAG,IAAIrY,MAAJ,CAAckY,YAAd,SAA8BC,cAA9B,SAAgDJ,UAAhD,CAAvB;EAEA,IAAM5C,YAAU,YAAU9M,WAA1B;EACA,IAAM+M,cAAY,cAAY/M,WAA9B;EACA,IAAM4M,YAAU,YAAU5M,WAA1B;EACA,IAAM6M,aAAW,aAAW7M,WAA5B;EACA,IAAMiQ,WAAW,aAAWjQ,WAA5B;EACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;EACA,IAAMiQ,sBAAsB,eAAalQ,WAAb,GAAyBC,cAArD;EACA,IAAMkQ,oBAAoB,aAAWnQ,WAAX,GAAuBC,cAAjD;EAEA,IAAMmQ,mBAAmB,GAAG,UAA5B;EACA,IAAMpD,iBAAe,GAAG,MAAxB;EACA,IAAMqD,iBAAiB,GAAG,QAA1B;EACA,IAAMC,oBAAoB,GAAG,WAA7B;EACA,IAAMC,mBAAmB,GAAG,UAA5B;EACA,IAAMC,oBAAoB,GAAG,qBAA7B;EACA,IAAMC,iBAAiB,GAAG,QAA1B;EACA,IAAMC,0BAA0B,GAAG,iBAAnC;EAEA,IAAMzO,sBAAoB,GAAG,0BAA7B;EACA,IAAM0O,mBAAmB,GAAG,gBAA5B;EACA,IAAMC,aAAa,GAAG,gBAAtB;EACA,IAAMC,mBAAmB,GAAG,aAA5B;EACA,IAAMC,sBAAsB,GAAG,6DAA/B;EAEA,IAAMC,aAAa,GAAG,WAAtB;EACA,IAAMC,gBAAgB,GAAG,SAAzB;EACA,IAAMC,gBAAgB,GAAG,cAAzB;EACA,IAAMC,mBAAmB,GAAG,YAA5B;EACA,IAAMC,eAAe,GAAG,aAAxB;EACA,IAAMC,cAAc,GAAG,YAAvB;EAEA,IAAMnM,SAAO,GAAG;EACd/B,EAAAA,MAAM,EAAE,CADM;EAEdmO,EAAAA,IAAI,EAAE,IAFQ;EAGdC,EAAAA,QAAQ,EAAE,cAHI;EAIdC,EAAAA,SAAS,EAAE,QAJG;EAKdnZ,EAAAA,OAAO,EAAE,SALK;EAMdoZ,EAAAA,YAAY,EAAE;EANA,CAAhB;EASA,IAAMhM,aAAW,GAAG;EAClBtC,EAAAA,MAAM,EAAE,0BADU;EAElBmO,EAAAA,IAAI,EAAE,SAFY;EAGlBC,EAAAA,QAAQ,EAAE,kBAHQ;EAIlBC,EAAAA,SAAS,EAAE,kBAJO;EAKlBnZ,EAAAA,OAAO,EAAE,QALS;EAMlBoZ,EAAAA,YAAY,EAAE;EANI,CAApB;EASA;EACA;EACA;EACA;EACA;;MAEMC;EACJ,oBAAYxc,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,SAAKwJ,QAAL,GAAgBzL,OAAhB;EACA,SAAKyc,OAAL,GAAe,IAAf;EACA,SAAKtJ,OAAL,GAAe,KAAKC,UAAL,CAAgBnR,MAAhB,CAAf;EACA,SAAKya,KAAL,GAAa,KAAKC,eAAL,EAAb;EACA,SAAKC,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;EAEA,SAAKlJ,kBAAL;;EACA/O,IAAAA,IAAI,CAACC,OAAL,CAAa7E,OAAb,EAAsB8K,UAAtB,EAAgC,IAAhC;EACD;;;;;EAgBD;WAEAoC,SAAA,kBAAS;EACP,QAAI,KAAKzB,QAAL,CAAcqR,QAAd,IAA0B,KAAKrR,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC+O,mBAAjC,CAA9B,EAAqF;EACnF;EACD;;EAED,QAAM4B,QAAQ,GAAG,KAAKtR,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC2L,iBAAjC,CAAjB;;EAEAyE,IAAAA,QAAQ,CAACQ,UAAT;;EAEA,QAAID,QAAJ,EAAc;EACZ;EACD;;EAED,SAAK7D,IAAL;EACD;;WAEDA,OAAA,gBAAO;EACL,QAAI,KAAKzN,QAAL,CAAcqR,QAAd,IAA0B,KAAKrR,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC+O,mBAAjC,CAA1B,IAAmF,KAAKuB,KAAL,CAAWxQ,SAAX,CAAqBE,QAArB,CAA8B2L,iBAA9B,CAAvF,EAAuI;EACrI;EACD;;EAED,QAAML,MAAM,GAAG8E,QAAQ,CAACS,oBAAT,CAA8B,KAAKxR,QAAnC,CAAf;EACA,QAAMwK,aAAa,GAAG;EACpBA,MAAAA,aAAa,EAAE,KAAKxK;EADA,KAAtB;EAIA,QAAMyR,SAAS,GAAGzV,YAAY,CAACuC,OAAb,CAAqB,KAAKyB,QAA1B,EAAoCkM,YAApC,EAAgD1B,aAAhD,CAAlB;;EAEA,QAAIiH,SAAS,CAACtX,gBAAd,EAAgC;EAC9B;EACD,KAdI;;;EAiBL,QAAI,CAAC,KAAKgX,SAAV,EAAqB;EACnB,UAAI,OAAOO,MAAP,KAAkB,WAAtB,EAAmC;EACjC,cAAM,IAAI9F,SAAJ,CAAc,kEAAd,CAAN;EACD;;EAED,UAAI+F,gBAAgB,GAAG,KAAK3R,QAA5B;;EAEA,UAAI,KAAK0H,OAAL,CAAamJ,SAAb,KAA2B,QAA/B,EAAyC;EACvCc,QAAAA,gBAAgB,GAAG1F,MAAnB;EACD,OAFD,MAEO,IAAItW,SAAS,CAAC,KAAK+R,OAAL,CAAamJ,SAAd,CAAb,EAAuC;EAC5Cc,QAAAA,gBAAgB,GAAG,KAAKjK,OAAL,CAAamJ,SAAhC,CAD4C;;EAI5C,YAAI,OAAO,KAAKnJ,OAAL,CAAamJ,SAAb,CAAuBpC,MAA9B,KAAyC,WAA7C,EAA0D;EACxDkD,UAAAA,gBAAgB,GAAG,KAAKjK,OAAL,CAAamJ,SAAb,CAAuB,CAAvB,CAAnB;EACD;EACF,OAhBkB;EAmBnB;EACA;;;EACA,UAAI,KAAKnJ,OAAL,CAAakJ,QAAb,KAA0B,cAA9B,EAA8C;EAC5C3E,QAAAA,MAAM,CAACxL,SAAP,CAAiBoJ,GAAjB,CAAqBmG,0BAArB;EACD;;EAED,WAAKgB,OAAL,GAAe,IAAIU,MAAJ,CAAWC,gBAAX,EAA6B,KAAKV,KAAlC,EAAyC,KAAKW,gBAAL,EAAzC,CAAf;EACD,KA3CI;EA8CL;EACA;EACA;;;EACA,QAAI,kBAAkBxd,QAAQ,CAACyD,eAA3B,IACF,CAACoU,MAAM,CAACzL,OAAP,CAAe2P,mBAAf,CADH,EACwC;EAAA;;EACtC,kBAAG/M,MAAH,aAAahP,QAAQ,CAACmE,IAAT,CAAc+K,QAA3B,EACG1M,OADH,CACW,UAAAqW,IAAI;EAAA,eAAIjR,YAAY,CAAC+B,EAAb,CAAgBkP,IAAhB,EAAsB,WAAtB,EAAmC,IAAnC,EAAyC/U,IAAI,EAA7C,CAAJ;EAAA,OADf;EAED;;EAED,SAAK8H,QAAL,CAAc6R,KAAd;;EACA,SAAK7R,QAAL,CAAc0B,YAAd,CAA2B,eAA3B,EAA4C,IAA5C;;EAEA,SAAKuP,KAAL,CAAWxQ,SAAX,CAAqBgB,MAArB,CAA4B6K,iBAA5B;;EACA,SAAKtM,QAAL,CAAcS,SAAd,CAAwBgB,MAAxB,CAA+B6K,iBAA/B;;EACAtQ,IAAAA,YAAY,CAACuC,OAAb,CAAqB0N,MAArB,EAA6BE,aAA7B,EAA0C3B,aAA1C;EACD;;WAEDgD,OAAA,gBAAO;EACL,QAAI,KAAKxN,QAAL,CAAcqR,QAAd,IAA0B,KAAKrR,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC+O,mBAAjC,CAA1B,IAAmF,CAAC,KAAKuB,KAAL,CAAWxQ,SAAX,CAAqBE,QAArB,CAA8B2L,iBAA9B,CAAxF,EAAwI;EACtI;EACD;;EAED,QAAML,MAAM,GAAG8E,QAAQ,CAACS,oBAAT,CAA8B,KAAKxR,QAAnC,CAAf;EACA,QAAMwK,aAAa,GAAG;EACpBA,MAAAA,aAAa,EAAE,KAAKxK;EADA,KAAtB;EAIA,QAAM8R,SAAS,GAAG9V,YAAY,CAACuC,OAAb,CAAqB0N,MAArB,EAA6BG,YAA7B,EAAyC5B,aAAzC,CAAlB;;EAEA,QAAIsH,SAAS,CAAC3X,gBAAd,EAAgC;EAC9B;EACD;;EAED,QAAI,KAAK6W,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAae,OAAb;EACD;;EAED,SAAKd,KAAL,CAAWxQ,SAAX,CAAqBgB,MAArB,CAA4B6K,iBAA5B;;EACA,SAAKtM,QAAL,CAAcS,SAAd,CAAwBgB,MAAxB,CAA+B6K,iBAA/B;;EACAtQ,IAAAA,YAAY,CAACuC,OAAb,CAAqB0N,MAArB,EAA6BI,cAA7B,EAA2C7B,aAA3C;EACD;;WAEDjK,UAAA,mBAAU;EACRpH,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKyG,QAArB,EAA+BX,UAA/B;EACArD,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAK+D,QAAtB,EAAgCV,WAAhC;EACA,SAAKU,QAAL,GAAgB,IAAhB;EACA,SAAKiR,KAAL,GAAa,IAAb;;EACA,QAAI,KAAKD,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAae,OAAb;;EACA,WAAKf,OAAL,GAAe,IAAf;EACD;EACF;;WAEDgB,SAAA,kBAAS;EACP,SAAKb,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;EACA,QAAI,KAAKJ,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAaiB,cAAb;EACD;EACF;;;WAID/J,qBAAA,8BAAqB;EAAA;;EACnBlM,IAAAA,YAAY,CAAC+B,EAAb,CAAgB,KAAKiC,QAArB,EAA+BuP,WAA/B,EAA4C,UAAA1T,KAAK,EAAI;EACnDA,MAAAA,KAAK,CAAC3B,cAAN;EACA2B,MAAAA,KAAK,CAACqW,eAAN;;EACA,MAAA,KAAI,CAACzQ,MAAL;EACD,KAJD;EAKD;;WAEDkG,aAAA,oBAAWnR,MAAX,EAAmB;EACjBA,IAAAA,MAAM,gBACD,KAAK2b,WAAL,CAAiB5N,OADhB,EAEDtC,WAAW,CAACG,iBAAZ,CAA8B,KAAKpC,QAAnC,CAFC,EAGDxJ,MAHC,CAAN;EAMAF,IAAAA,eAAe,CAAC6I,MAAD,EAAO3I,MAAP,EAAe,KAAK2b,WAAL,CAAiBrN,WAAhC,CAAf;EAEA,WAAOtO,MAAP;EACD;;WAED0a,kBAAA,2BAAkB;EAChB,WAAO/N,cAAc,CAACc,IAAf,CAAoB,KAAKjE,QAAzB,EAAmCkQ,aAAnC,EAAkD,CAAlD,CAAP;EACD;;WAEDkC,gBAAA,yBAAgB;EACd,QAAMC,cAAc,GAAG,KAAKrS,QAAL,CAAczI,UAArC;EACA,QAAI+a,SAAS,GAAG/B,gBAAhB,CAFc;;EAKd,QAAI8B,cAAc,CAAC5R,SAAf,CAAyBE,QAAzB,CAAkCgP,iBAAlC,CAAJ,EAA0D;EACxD2C,MAAAA,SAAS,GAAGjC,aAAZ;;EACA,UAAI,KAAKY,KAAL,CAAWxQ,SAAX,CAAqBE,QAArB,CAA8BmP,oBAA9B,CAAJ,EAAyD;EACvDwC,QAAAA,SAAS,GAAGhC,gBAAZ;EACD;EACF,KALD,MAKO,IAAI+B,cAAc,CAAC5R,SAAf,CAAyBE,QAAzB,CAAkCiP,oBAAlC,CAAJ,EAA6D;EAClE0C,MAAAA,SAAS,GAAG7B,eAAZ;EACD,KAFM,MAEA,IAAI4B,cAAc,CAAC5R,SAAf,CAAyBE,QAAzB,CAAkCkP,mBAAlC,CAAJ,EAA4D;EACjEyC,MAAAA,SAAS,GAAG5B,cAAZ;EACD,KAFM,MAEA,IAAI,KAAKO,KAAL,CAAWxQ,SAAX,CAAqBE,QAArB,CAA8BmP,oBAA9B,CAAJ,EAAyD;EAC9DwC,MAAAA,SAAS,GAAG9B,mBAAZ;EACD;;EAED,WAAO8B,SAAP;EACD;;WAEDlB,gBAAA,yBAAgB;EACd,WAAO5W,OAAO,CAAC,KAAKwF,QAAL,CAAcQ,OAAd,OAA0BuP,iBAA1B,CAAD,CAAd;EACD;;WAEDwC,aAAA,sBAAa;EAAA;;EACX,QAAM/P,MAAM,GAAG,EAAf;;EAEA,QAAI,OAAO,KAAKkF,OAAL,CAAalF,MAApB,KAA+B,UAAnC,EAA+C;EAC7CA,MAAAA,MAAM,CAAC7G,EAAP,GAAY,UAAA7C,IAAI,EAAI;EAClBA,QAAAA,IAAI,CAAC0Z,OAAL,gBACK1Z,IAAI,CAAC0Z,OADV,EAEM,MAAI,CAAC9K,OAAL,CAAalF,MAAb,CAAoB1J,IAAI,CAAC0Z,OAAzB,EAAkC,MAAI,CAACxS,QAAvC,KAAoD,EAF1D;EAKA,eAAOlH,IAAP;EACD,OAPD;EAQD,KATD,MASO;EACL0J,MAAAA,MAAM,CAACA,MAAP,GAAgB,KAAKkF,OAAL,CAAalF,MAA7B;EACD;;EAED,WAAOA,MAAP;EACD;;WAEDoP,mBAAA,4BAAmB;EACjB,QAAMd,YAAY,GAAG;EACnBwB,MAAAA,SAAS,EAAE,KAAKF,aAAL,EADQ;EAEnBK,MAAAA,SAAS,EAAE;EACTjQ,QAAAA,MAAM,EAAE,KAAK+P,UAAL,EADC;EAET5B,QAAAA,IAAI,EAAE;EACJ+B,UAAAA,OAAO,EAAE,KAAKhL,OAAL,CAAaiJ;EADlB,SAFG;EAKTgC,QAAAA,eAAe,EAAE;EACfC,UAAAA,iBAAiB,EAAE,KAAKlL,OAAL,CAAakJ;EADjB;EALR;EAFQ,KAArB,CADiB;;EAejB,QAAI,KAAKlJ,OAAL,CAAahQ,OAAb,KAAyB,QAA7B,EAAuC;EACrCoZ,MAAAA,YAAY,CAAC2B,SAAb,CAAuBI,UAAvB,GAAoC;EAClCH,QAAAA,OAAO,EAAE;EADyB,OAApC;EAGD;;EAED,wBACK5B,YADL,EAEK,KAAKpJ,OAAL,CAAaoJ,YAFlB;EAID;;;aAIMgC,oBAAP,2BAAyBve,OAAzB,EAAkCiC,MAAlC,EAA0C;EACxC,QAAIsC,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa/E,OAAb,EAAsB8K,UAAtB,CAAX;;EACA,QAAMqI,OAAO,GAAG,OAAOlR,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;EAEA,QAAI,CAACsC,IAAL,EAAW;EACTA,MAAAA,IAAI,GAAG,IAAIiY,QAAJ,CAAaxc,OAAb,EAAsBmT,OAAtB,CAAP;EACD;;EAED,QAAI,OAAOlR,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,UAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,cAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;EACD;;EAEDsC,MAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF;;aAEMsK,kBAAP,yBAAuBtK,MAAvB,EAA+B;EAC7B,WAAO,KAAKuK,IAAL,CAAU,YAAY;EAC3BgQ,MAAAA,QAAQ,CAAC+B,iBAAT,CAA2B,IAA3B,EAAiCtc,MAAjC;EACD,KAFM,CAAP;EAGD;;aAEM+a,aAAP,oBAAkB1V,KAAlB,EAAyB;EACvB,QAAIA,KAAK,KAAKA,KAAK,CAAC8F,MAAN,KAAiB0N,kBAAjB,IACXxT,KAAK,CAACK,IAAN,KAAe,OAAf,IAA0BL,KAAK,CAAChD,GAAN,KAAcqW,OADlC,CAAT,EACsD;EACpD;EACD;;EAED,QAAM6D,OAAO,GAAG5P,cAAc,CAAC3J,IAAf,CAAoB+H,sBAApB,CAAhB;;EAEA,SAAK,IAAIhF,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGkW,OAAO,CAACvW,MAA9B,EAAsCD,CAAC,GAAGM,GAA1C,EAA+CN,CAAC,EAAhD,EAAoD;EAClD,UAAM0P,MAAM,GAAG8E,QAAQ,CAACS,oBAAT,CAA8BuB,OAAO,CAACxW,CAAD,CAArC,CAAf;EACA,UAAMyW,OAAO,GAAG7Z,IAAI,CAACG,OAAL,CAAayZ,OAAO,CAACxW,CAAD,CAApB,EAAyB8C,UAAzB,CAAhB;EACA,UAAMmL,aAAa,GAAG;EACpBA,QAAAA,aAAa,EAAEuI,OAAO,CAACxW,CAAD;EADF,OAAtB;;EAIA,UAAIV,KAAK,IAAIA,KAAK,CAACK,IAAN,KAAe,OAA5B,EAAqC;EACnCsO,QAAAA,aAAa,CAACyI,UAAd,GAA2BpX,KAA3B;EACD;;EAED,UAAI,CAACmX,OAAL,EAAc;EACZ;EACD;;EAED,UAAME,YAAY,GAAGF,OAAO,CAAC/B,KAA7B;;EACA,UAAI,CAAC8B,OAAO,CAACxW,CAAD,CAAP,CAAWkE,SAAX,CAAqBE,QAArB,CAA8B2L,iBAA9B,CAAL,EAAqD;EACnD;EACD;;EAED,UAAIzQ,KAAK,KAAMA,KAAK,CAACK,IAAN,KAAe,OAAf,IACX,kBAAkBhF,IAAlB,CAAuB2E,KAAK,CAACS,MAAN,CAAawN,OAApC,CADU,IAETjO,KAAK,CAACK,IAAN,KAAe,OAAf,IAA0BL,KAAK,CAAChD,GAAN,KAAcqW,OAFpC,CAAL,IAGAgE,YAAY,CAACvS,QAAb,CAAsB9E,KAAK,CAACS,MAA5B,CAHJ,EAGyC;EACvC;EACD;;EAED,UAAMwV,SAAS,GAAG9V,YAAY,CAACuC,OAAb,CAAqB0N,MAArB,EAA6BG,YAA7B,EAAyC5B,aAAzC,CAAlB;;EACA,UAAIsH,SAAS,CAAC3X,gBAAd,EAAgC;EAC9B;EACD,OA9BiD;EAiClD;;;EACA,UAAI,kBAAkB/F,QAAQ,CAACyD,eAA/B,EAAgD;EAAA;;EAC9C,qBAAGuL,MAAH,cAAahP,QAAQ,CAACmE,IAAT,CAAc+K,QAA3B,EACG1M,OADH,CACW,UAAAqW,IAAI;EAAA,iBAAIjR,YAAY,CAACC,GAAb,CAAiBgR,IAAjB,EAAuB,WAAvB,EAAoC,IAApC,EAA0C/U,IAAI,EAA9C,CAAJ;EAAA,SADf;EAED;;EAED6a,MAAAA,OAAO,CAACxW,CAAD,CAAP,CAAWmF,YAAX,CAAwB,eAAxB,EAAyC,OAAzC;;EAEA,UAAIsR,OAAO,CAAChC,OAAZ,EAAqB;EACnBgC,QAAAA,OAAO,CAAChC,OAAR,CAAgBe,OAAhB;EACD;;EAEDmB,MAAAA,YAAY,CAACzS,SAAb,CAAuBC,MAAvB,CAA8B4L,iBAA9B;EACAyG,MAAAA,OAAO,CAACxW,CAAD,CAAP,CAAWkE,SAAX,CAAqBC,MAArB,CAA4B4L,iBAA5B;EACAtQ,MAAAA,YAAY,CAACuC,OAAb,CAAqB0N,MAArB,EAA6BI,cAA7B,EAA2C7B,aAA3C;EACD;EACF;;aAEMgH,uBAAP,8BAA4Bjd,OAA5B,EAAqC;EACnC,WAAOO,sBAAsB,CAACP,OAAD,CAAtB,IAAmCA,OAAO,CAACgD,UAAlD;EACD;;aAEM4b,wBAAP,+BAA6BtX,KAA7B,EAAoC;EAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAI,kBAAkB3E,IAAlB,CAAuB2E,KAAK,CAACS,MAAN,CAAawN,OAApC,IACFjO,KAAK,CAAChD,GAAN,KAAcoW,SAAd,IAA4BpT,KAAK,CAAChD,GAAN,KAAcmW,UAAd,KAC1BnT,KAAK,CAAChD,GAAN,KAAcuW,cAAd,IAAgCvT,KAAK,CAAChD,GAAN,KAAcsW,YAA/C,IACCtT,KAAK,CAACS,MAAN,CAAakE,OAAb,CAAqB0P,aAArB,CAF0B,CAD1B,GAIF,CAACZ,cAAc,CAACpY,IAAf,CAAoB2E,KAAK,CAAChD,GAA1B,CAJH,EAImC;EACjC;EACD;;EAEDgD,IAAAA,KAAK,CAAC3B,cAAN;EACA2B,IAAAA,KAAK,CAACqW,eAAN;;EAEA,QAAI,KAAKb,QAAL,IAAiB,KAAK5Q,SAAL,CAAeE,QAAf,CAAwB+O,mBAAxB,CAArB,EAAmE;EACjE;EACD;;EAED,QAAMzD,MAAM,GAAG8E,QAAQ,CAACS,oBAAT,CAA8B,IAA9B,CAAf;EACA,QAAMF,QAAQ,GAAG,KAAK7Q,SAAL,CAAeE,QAAf,CAAwB2L,iBAAxB,CAAjB;;EAEA,QAAIzQ,KAAK,CAAChD,GAAN,KAAcmW,UAAlB,EAA8B;EAC5B,UAAMrN,MAAM,GAAG,KAAK/G,OAAL,CAAa2G,sBAAb,IAAqC,IAArC,GAA4C4B,cAAc,CAACW,IAAf,CAAoB,IAApB,EAA0BvC,sBAA1B,EAAgD,CAAhD,CAA3D;EACAI,MAAAA,MAAM,CAACkQ,KAAP;EACAd,MAAAA,QAAQ,CAACQ,UAAT;EACA;EACD;;EAED,QAAI,CAACD,QAAD,IAAazV,KAAK,CAAChD,GAAN,KAAcoW,SAA/B,EAA0C;EACxC8B,MAAAA,QAAQ,CAACQ,UAAT;EACA;EACD;;EAED,QAAM6B,KAAK,GAAGjQ,cAAc,CAAC3J,IAAf,CAAoB4W,sBAApB,EAA4CnE,MAA5C,EAAoD1I,MAApD,CAA2DlM,SAA3D,CAAd;;EAEA,QAAI,CAAC+b,KAAK,CAAC5W,MAAX,EAAmB;EACjB;EACD;;EAED,QAAIoM,KAAK,GAAGwK,KAAK,CAAC9V,OAAN,CAAczB,KAAK,CAACS,MAApB,CAAZ;;EAEA,QAAIT,KAAK,CAAChD,GAAN,KAAcsW,YAAd,IAA8BvG,KAAK,GAAG,CAA1C,EAA6C;EAAE;EAC7CA,MAAAA,KAAK;EACN;;EAED,QAAI/M,KAAK,CAAChD,GAAN,KAAcuW,cAAd,IAAgCxG,KAAK,GAAGwK,KAAK,CAAC5W,MAAN,GAAe,CAA3D,EAA8D;EAAE;EAC9DoM,MAAAA,KAAK;EACN,KApDiC;;;EAuDlCA,IAAAA,KAAK,GAAGA,KAAK,KAAK,CAAC,CAAX,GAAe,CAAf,GAAmBA,KAA3B;EAEAwK,IAAAA,KAAK,CAACxK,KAAD,CAAL,CAAaiJ,KAAb;EACD;;aAEM3Q,cAAP,qBAAmB3M,OAAnB,EAA4B;EAC1B,WAAO4E,IAAI,CAACG,OAAL,CAAa/E,OAAb,EAAsB8K,UAAtB,CAAP;EACD;;;;0BA/XoB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOmF,SAAP;EACD;;;0BAEwB;EACvB,aAAOO,aAAP;EACD;;;;;EAwXH;EACA;EACA;EACA;EACA;;;EAEA9I,YAAY,CAAC+B,EAAb,CAAgB3J,QAAhB,EAA0Bob,sBAA1B,EAAkDjO,sBAAlD,EAAwEwP,QAAQ,CAACoC,qBAAjF;EACAnX,YAAY,CAAC+B,EAAb,CAAgB3J,QAAhB,EAA0Bob,sBAA1B,EAAkDU,aAAlD,EAAiEa,QAAQ,CAACoC,qBAA1E;EACAnX,YAAY,CAAC+B,EAAb,CAAgB3J,QAAhB,EAA0BuL,sBAA1B,EAAgDoR,QAAQ,CAACQ,UAAzD;EACAvV,YAAY,CAAC+B,EAAb,CAAgB3J,QAAhB,EAA0Bqb,oBAA1B,EAAgDsB,QAAQ,CAACQ,UAAzD;EACAvV,YAAY,CAAC+B,EAAb,CAAgB3J,QAAhB,EAA0BuL,sBAA1B,EAAgD4B,sBAAhD,EAAsE,UAAU1F,KAAV,EAAiB;EACrFA,EAAAA,KAAK,CAAC3B,cAAN;EACA2B,EAAAA,KAAK,CAACqW,eAAN;EACAnB,EAAAA,QAAQ,CAAC+B,iBAAT,CAA2B,IAA3B,EAAiC,QAAjC;EACD,CAJD;EAKA9W,YAAY,CAAC+B,EAAb,CAAgB3J,QAAhB,EAA0BuL,sBAA1B,EAAgDsQ,mBAAhD,EAAqE,UAAAnW,CAAC;EAAA,SAAIA,CAAC,CAACoY,eAAF,EAAJ;EAAA,CAAtE;EAEA,IAAMrX,GAAC,GAAGxC,SAAS,EAAnB;EAEA;EACA;EACA;EACA;EACA;EACA;;EACA;;EACA,IAAIwC,GAAJ,EAAO;EACL,MAAMsG,oBAAkB,GAAGtG,GAAC,CAACc,EAAF,CAAKwD,MAAL,CAA3B;EACAtE,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAa4R,QAAQ,CAACjQ,eAAtB;EACAjG,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWiC,WAAX,GAAyB2P,QAAzB;;EACAlW,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5BxG,IAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAagC,oBAAb;EACA,WAAO4P,QAAQ,CAACjQ,eAAhB;EACD,GAHD;EAID;;EC7fD;EACA;EACA;EACA;EACA;;EAEA,IAAM3B,MAAI,GAAG,OAAb;EACA,IAAMC,SAAO,GAAG,cAAhB;EACA,IAAMC,UAAQ,GAAG,UAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EACA,IAAMyP,YAAU,GAAG,QAAnB;EAEA,IAAMzK,SAAO,GAAG;EACd8O,EAAAA,QAAQ,EAAE,IADI;EAEd5O,EAAAA,QAAQ,EAAE,IAFI;EAGdoN,EAAAA,KAAK,EAAE,IAHO;EAIdpE,EAAAA,IAAI,EAAE;EAJQ,CAAhB;EAOA,IAAM3I,aAAW,GAAG;EAClBuO,EAAAA,QAAQ,EAAE,kBADQ;EAElB5O,EAAAA,QAAQ,EAAE,SAFQ;EAGlBoN,EAAAA,KAAK,EAAE,SAHW;EAIlBpE,EAAAA,IAAI,EAAE;EAJY,CAApB;EAOA,IAAMrB,YAAU,YAAU9M,WAA1B;EACA,IAAMgU,oBAAoB,qBAAmBhU,WAA7C;EACA,IAAM+M,cAAY,cAAY/M,WAA9B;EACA,IAAM4M,YAAU,YAAU5M,WAA1B;EACA,IAAM6M,aAAW,aAAW7M,WAA5B;EACA,IAAMiU,aAAa,eAAajU,WAAhC;EACA,IAAMkU,YAAY,cAAYlU,WAA9B;EACA,IAAMmU,mBAAmB,qBAAmBnU,WAA5C;EACA,IAAMoU,qBAAqB,uBAAqBpU,WAAhD;EACA,IAAMqU,qBAAqB,uBAAqBrU,WAAhD;EACA,IAAMsU,uBAAuB,yBAAuBtU,WAApD;EACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;EAEA,IAAMsU,6BAA6B,GAAG,yBAAtC;EACA,IAAMC,mBAAmB,GAAG,gBAA5B;EACA,IAAMC,eAAe,GAAG,YAAxB;EACA,IAAMC,eAAe,GAAG,MAAxB;EACA,IAAM1H,iBAAe,GAAG,MAAxB;EACA,IAAM2H,iBAAiB,GAAG,cAA1B;EAEA,IAAMC,eAAe,GAAG,eAAxB;EACA,IAAMC,mBAAmB,GAAG,aAA5B;EACA,IAAM5S,sBAAoB,GAAG,uBAA7B;EACA,IAAM6S,qBAAqB,GAAG,wBAA9B;EACA,IAAMC,sBAAsB,GAAG,mDAA/B;EACA,IAAMC,uBAAuB,GAAG,aAAhC;EAEA;EACA;EACA;EACA;EACA;;MAEMC;EACJ,iBAAYhgB,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,SAAKkR,OAAL,GAAe,KAAKC,UAAL,CAAgBnR,MAAhB,CAAf;EACA,SAAKwJ,QAAL,GAAgBzL,OAAhB;EACA,SAAKigB,OAAL,GAAerR,cAAc,CAACvJ,OAAf,CAAuBsa,eAAvB,EAAwC3f,OAAxC,CAAf;EACA,SAAKkgB,SAAL,GAAiB,IAAjB;EACA,SAAKC,QAAL,GAAgB,KAAhB;EACA,SAAKC,kBAAL,GAA0B,KAA1B;EACA,SAAKC,oBAAL,GAA4B,KAA5B;EACA,SAAK9H,gBAAL,GAAwB,KAAxB;EACA,SAAK+H,eAAL,GAAuB,CAAvB;EACA1b,IAAAA,IAAI,CAACC,OAAL,CAAa7E,OAAb,EAAsB8K,UAAtB,EAAgC,IAAhC;EACD;;;;;EAYD;WAEAoC,SAAA,gBAAO+I,aAAP,EAAsB;EACpB,WAAO,KAAKkK,QAAL,GAAgB,KAAKlH,IAAL,EAAhB,GAA8B,KAAKC,IAAL,CAAUjD,aAAV,CAArC;EACD;;WAEDiD,OAAA,cAAKjD,aAAL,EAAoB;EAAA;;EAClB,QAAI,KAAKkK,QAAL,IAAiB,KAAK5H,gBAA1B,EAA4C;EAC1C;EACD;;EAED,QAAI,KAAK9M,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCqT,eAAjC,CAAJ,EAAuD;EACrD,WAAKlH,gBAAL,GAAwB,IAAxB;EACD;;EAED,QAAM2E,SAAS,GAAGzV,YAAY,CAACuC,OAAb,CAAqB,KAAKyB,QAA1B,EAAoCkM,YAApC,EAAgD;EAChE1B,MAAAA,aAAa,EAAbA;EADgE,KAAhD,CAAlB;;EAIA,QAAI,KAAKkK,QAAL,IAAiBjD,SAAS,CAACtX,gBAA/B,EAAiD;EAC/C;EACD;;EAED,SAAKua,QAAL,GAAgB,IAAhB;;EAEA,SAAKI,eAAL;;EACA,SAAKC,aAAL;;EAEA,SAAKC,aAAL;;EAEA,SAAKC,eAAL;;EACA,SAAKC,eAAL;;EAEAlZ,IAAAA,YAAY,CAAC+B,EAAb,CAAgB,KAAKiC,QAArB,EACEyT,mBADF,EAEEW,qBAFF,EAGE,UAAAvY,KAAK;EAAA,aAAI,KAAI,CAAC2R,IAAL,CAAU3R,KAAV,CAAJ;EAAA,KAHP;EAMAG,IAAAA,YAAY,CAAC+B,EAAb,CAAgB,KAAKyW,OAArB,EAA8BZ,uBAA9B,EAAuD,YAAM;EAC3D5X,MAAAA,YAAY,CAACgC,GAAb,CAAiB,KAAI,CAACgC,QAAtB,EAAgC2T,qBAAhC,EAAuD,UAAA9X,KAAK,EAAI;EAC9D,YAAIA,KAAK,CAACS,MAAN,KAAiB,KAAI,CAAC0D,QAA1B,EAAoC;EAClC,UAAA,KAAI,CAAC4U,oBAAL,GAA4B,IAA5B;EACD;EACF,OAJD;EAKD,KAND;;EAQA,SAAKO,aAAL,CAAmB;EAAA,aAAM,KAAI,CAACC,YAAL,CAAkB5K,aAAlB,CAAN;EAAA,KAAnB;EACD;;WAEDgD,OAAA,cAAK3R,KAAL,EAAY;EAAA;;EACV,QAAIA,KAAJ,EAAW;EACTA,MAAAA,KAAK,CAAC3B,cAAN;EACD;;EAED,QAAI,CAAC,KAAKwa,QAAN,IAAkB,KAAK5H,gBAA3B,EAA6C;EAC3C;EACD;;EAED,QAAMgF,SAAS,GAAG9V,YAAY,CAACuC,OAAb,CAAqB,KAAKyB,QAA1B,EAAoCoM,YAApC,CAAlB;;EAEA,QAAI0F,SAAS,CAAC3X,gBAAd,EAAgC;EAC9B;EACD;;EAED,SAAKua,QAAL,GAAgB,KAAhB;;EACA,QAAMW,UAAU,GAAG,KAAKrV,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCqT,eAAjC,CAAnB;;EAEA,QAAIqB,UAAJ,EAAgB;EACd,WAAKvI,gBAAL,GAAwB,IAAxB;EACD;;EAED,SAAKmI,eAAL;;EACA,SAAKC,eAAL;;EAEAlZ,IAAAA,YAAY,CAACC,GAAb,CAAiB7H,QAAjB,EAA2Bmf,aAA3B;;EAEA,SAAKvT,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B4L,iBAA/B;;EAEAtQ,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAK+D,QAAtB,EAAgCyT,mBAAhC;EACAzX,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKuY,OAAtB,EAA+BZ,uBAA/B;;EAEA,QAAIyB,UAAJ,EAAgB;EACd,UAAMngB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKiL,QAAN,CAA3D;EAEAhE,MAAAA,YAAY,CAACgC,GAAb,CAAiB,KAAKgC,QAAtB,EAAgCzM,cAAhC,EAAgD,UAAAsI,KAAK;EAAA,eAAI,MAAI,CAACyZ,UAAL,CAAgBzZ,KAAhB,CAAJ;EAAA,OAArD;EACAhG,MAAAA,oBAAoB,CAAC,KAAKmK,QAAN,EAAgB9K,kBAAhB,CAApB;EACD,KALD,MAKO;EACL,WAAKogB,UAAL;EACD;EACF;;WAED/U,UAAA,mBAAU;EACR,KAACvL,MAAD,EAAS,KAAKgL,QAAd,EAAwB,KAAKwU,OAA7B,EACG5d,OADH,CACW,UAAA2e,WAAW;EAAA,aAAIvZ,YAAY,CAACC,GAAb,CAAiBsZ,WAAjB,EAA8BjW,WAA9B,CAAJ;EAAA,KADtB;EAGA;EACJ;EACA;EACA;EACA;;EACItD,IAAAA,YAAY,CAACC,GAAb,CAAiB7H,QAAjB,EAA2Bmf,aAA3B;EAEApa,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKyG,QAArB,EAA+BX,UAA/B;EAEA,SAAKqI,OAAL,GAAe,IAAf;EACA,SAAK1H,QAAL,GAAgB,IAAhB;EACA,SAAKwU,OAAL,GAAe,IAAf;EACA,SAAKC,SAAL,GAAiB,IAAjB;EACA,SAAKC,QAAL,GAAgB,IAAhB;EACA,SAAKC,kBAAL,GAA0B,IAA1B;EACA,SAAKC,oBAAL,GAA4B,IAA5B;EACA,SAAK9H,gBAAL,GAAwB,IAAxB;EACA,SAAK+H,eAAL,GAAuB,IAAvB;EACD;;WAEDW,eAAA,wBAAe;EACb,SAAKR,aAAL;EACD;;;WAIDrN,aAAA,oBAAWnR,MAAX,EAAmB;EACjBA,IAAAA,MAAM,gBACD+N,SADC,EAED/N,MAFC,CAAN;EAIAF,IAAAA,eAAe,CAAC6I,MAAD,EAAO3I,MAAP,EAAesO,aAAf,CAAf;EACA,WAAOtO,MAAP;EACD;;WAED4e,eAAA,sBAAa5K,aAAb,EAA4B;EAAA;;EAC1B,QAAM6K,UAAU,GAAG,KAAKrV,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCqT,eAAjC,CAAnB;;EACA,QAAMyB,SAAS,GAAGtS,cAAc,CAACvJ,OAAf,CAAuBua,mBAAvB,EAA4C,KAAKK,OAAjD,CAAlB;;EAEA,QAAI,CAAC,KAAKxU,QAAL,CAAczI,UAAf,IACA,KAAKyI,QAAL,CAAczI,UAAd,CAAyB3B,QAAzB,KAAsC+N,IAAI,CAACC,YAD/C,EAC6D;EAC3D;EACAxP,MAAAA,QAAQ,CAACmE,IAAT,CAAcmd,WAAd,CAA0B,KAAK1V,QAA/B;EACD;;EAED,SAAKA,QAAL,CAAc1I,KAAd,CAAoBI,OAApB,GAA8B,OAA9B;;EACA,SAAKsI,QAAL,CAAcrF,eAAd,CAA8B,aAA9B;;EACA,SAAKqF,QAAL,CAAc0B,YAAd,CAA2B,YAA3B,EAAyC,IAAzC;;EACA,SAAK1B,QAAL,CAAc0B,YAAd,CAA2B,MAA3B,EAAmC,QAAnC;;EACA,SAAK1B,QAAL,CAAc4C,SAAd,GAA0B,CAA1B;;EAEA,QAAI6S,SAAJ,EAAe;EACbA,MAAAA,SAAS,CAAC7S,SAAV,GAAsB,CAAtB;EACD;;EAED,QAAIyS,UAAJ,EAAgB;EACdld,MAAAA,MAAM,CAAC,KAAK6H,QAAN,CAAN;EACD;;EAED,SAAKA,QAAL,CAAcS,SAAd,CAAwBoJ,GAAxB,CAA4ByC,iBAA5B;;EAEA,QAAI,KAAK5E,OAAL,CAAamK,KAAjB,EAAwB;EACtB,WAAK8D,aAAL;EACD;;EAED,QAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;EAC/B,UAAI,MAAI,CAAClO,OAAL,CAAamK,KAAjB,EAAwB;EACtB,QAAA,MAAI,CAAC7R,QAAL,CAAc6R,KAAd;EACD;;EAED,MAAA,MAAI,CAAC/E,gBAAL,GAAwB,KAAxB;EACA9Q,MAAAA,YAAY,CAACuC,OAAb,CAAqB,MAAI,CAACyB,QAA1B,EAAoCmM,aAApC,EAAiD;EAC/C3B,QAAAA,aAAa,EAAbA;EAD+C,OAAjD;EAGD,KATD;;EAWA,QAAI6K,UAAJ,EAAgB;EACd,UAAMngB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKyf,OAAN,CAA3D;EAEAxY,MAAAA,YAAY,CAACgC,GAAb,CAAiB,KAAKwW,OAAtB,EAA+BjhB,cAA/B,EAA+CqiB,kBAA/C;EACA/f,MAAAA,oBAAoB,CAAC,KAAK2e,OAAN,EAAetf,kBAAf,CAApB;EACD,KALD,MAKO;EACL0gB,MAAAA,kBAAkB;EACnB;EACF;;WAEDD,gBAAA,yBAAgB;EAAA;;EACd3Z,IAAAA,YAAY,CAACC,GAAb,CAAiB7H,QAAjB,EAA2Bmf,aAA3B,EADc;;EAEdvX,IAAAA,YAAY,CAAC+B,EAAb,CAAgB3J,QAAhB,EAA0Bmf,aAA1B,EAAyC,UAAA1X,KAAK,EAAI;EAChD,UAAIzH,QAAQ,KAAKyH,KAAK,CAACS,MAAnB,IACA,MAAI,CAAC0D,QAAL,KAAkBnE,KAAK,CAACS,MADxB,IAEA,CAAC,MAAI,CAAC0D,QAAL,CAAcW,QAAd,CAAuB9E,KAAK,CAACS,MAA7B,CAFL,EAE2C;EACzC,QAAA,MAAI,CAAC0D,QAAL,CAAc6R,KAAd;EACD;EACF,KAND;EAOD;;WAEDoD,kBAAA,2BAAkB;EAAA;;EAChB,QAAI,KAAKP,QAAT,EAAmB;EACjB1Y,MAAAA,YAAY,CAAC+B,EAAb,CAAgB,KAAKiC,QAArB,EAA+B0T,qBAA/B,EAAsD,UAAA7X,KAAK,EAAI;EAC7D,YAAI,MAAI,CAAC6L,OAAL,CAAajD,QAAb,IAAyB5I,KAAK,CAAChD,GAAN,KAAcmW,YAA3C,EAAuD;EACrDnT,UAAAA,KAAK,CAAC3B,cAAN;;EACA,UAAA,MAAI,CAACsT,IAAL;EACD,SAHD,MAGO,IAAI,CAAC,MAAI,CAAC9F,OAAL,CAAajD,QAAd,IAA0B5I,KAAK,CAAChD,GAAN,KAAcmW,YAA5C,EAAwD;EAC7D,UAAA,MAAI,CAAC6G,0BAAL;EACD;EACF,OAPD;EAQD,KATD,MASO;EACL7Z,MAAAA,YAAY,CAACC,GAAb,CAAiB,KAAK+D,QAAtB,EAAgC0T,qBAAhC;EACD;EACF;;WAEDwB,kBAAA,2BAAkB;EAAA;;EAChB,QAAI,KAAKR,QAAT,EAAmB;EACjB1Y,MAAAA,YAAY,CAAC+B,EAAb,CAAgB/I,MAAhB,EAAwBwe,YAAxB,EAAsC;EAAA,eAAM,MAAI,CAACwB,aAAL,EAAN;EAAA,OAAtC;EACD,KAFD,MAEO;EACLhZ,MAAAA,YAAY,CAACC,GAAb,CAAiBjH,MAAjB,EAAyBwe,YAAzB;EACD;EACF;;WAED8B,aAAA,sBAAa;EAAA;;EACX,SAAKtV,QAAL,CAAc1I,KAAd,CAAoBI,OAApB,GAA8B,MAA9B;;EACA,SAAKsI,QAAL,CAAc0B,YAAd,CAA2B,aAA3B,EAA0C,IAA1C;;EACA,SAAK1B,QAAL,CAAcrF,eAAd,CAA8B,YAA9B;;EACA,SAAKqF,QAAL,CAAcrF,eAAd,CAA8B,MAA9B;;EACA,SAAKmS,gBAAL,GAAwB,KAAxB;;EACA,SAAKqI,aAAL,CAAmB,YAAM;EACvB/gB,MAAAA,QAAQ,CAACmE,IAAT,CAAckI,SAAd,CAAwBC,MAAxB,CAA+BqT,eAA/B;;EACA,MAAA,MAAI,CAAC+B,iBAAL;;EACA,MAAA,MAAI,CAACC,eAAL;;EACA/Z,MAAAA,YAAY,CAACuC,OAAb,CAAqB,MAAI,CAACyB,QAA1B,EAAoCqM,cAApC;EACD,KALD;EAMD;;WAED2J,kBAAA,2BAAkB;EAChB,SAAKvB,SAAL,CAAeld,UAAf,CAA0BsJ,WAA1B,CAAsC,KAAK4T,SAA3C;;EACA,SAAKA,SAAL,GAAiB,IAAjB;EACD;;WAEDU,gBAAA,uBAAcc,QAAd,EAAwB;EAAA;;EACtB,QAAMC,OAAO,GAAG,KAAKlW,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCqT,eAAjC,IACdA,eADc,GAEd,EAFF;;EAIA,QAAI,KAAKU,QAAL,IAAiB,KAAKhN,OAAL,CAAa2L,QAAlC,EAA4C;EAC1C,WAAKoB,SAAL,GAAiBrgB,QAAQ,CAAC6F,aAAT,CAAuB,KAAvB,CAAjB;EACA,WAAKwa,SAAL,CAAe0B,SAAf,GAA2BrC,mBAA3B;;EAEA,UAAIoC,OAAJ,EAAa;EACX,aAAKzB,SAAL,CAAehU,SAAf,CAAyBoJ,GAAzB,CAA6BqM,OAA7B;EACD;;EAED9hB,MAAAA,QAAQ,CAACmE,IAAT,CAAcmd,WAAd,CAA0B,KAAKjB,SAA/B;EAEAzY,MAAAA,YAAY,CAAC+B,EAAb,CAAgB,KAAKiC,QAArB,EAA+ByT,mBAA/B,EAAoD,UAAA5X,KAAK,EAAI;EAC3D,YAAI,MAAI,CAAC+Y,oBAAT,EAA+B;EAC7B,UAAA,MAAI,CAACA,oBAAL,GAA4B,KAA5B;EACA;EACD;;EAED,YAAI/Y,KAAK,CAACS,MAAN,KAAiBT,KAAK,CAACua,aAA3B,EAA0C;EACxC;EACD;;EAED,QAAA,MAAI,CAACP,0BAAL;EACD,OAXD;;EAaA,UAAIK,OAAJ,EAAa;EACX/d,QAAAA,MAAM,CAAC,KAAKsc,SAAN,CAAN;EACD;;EAED,WAAKA,SAAL,CAAehU,SAAf,CAAyBoJ,GAAzB,CAA6ByC,iBAA7B;;EAEA,UAAI,CAAC4J,OAAL,EAAc;EACZD,QAAAA,QAAQ;EACR;EACD;;EAED,UAAMI,0BAA0B,GAAGthB,gCAAgC,CAAC,KAAK0f,SAAN,CAAnE;EAEAzY,MAAAA,YAAY,CAACgC,GAAb,CAAiB,KAAKyW,SAAtB,EAAiClhB,cAAjC,EAAiD0iB,QAAjD;EACApgB,MAAAA,oBAAoB,CAAC,KAAK4e,SAAN,EAAiB4B,0BAAjB,CAApB;EACD,KAtCD,MAsCO,IAAI,CAAC,KAAK3B,QAAN,IAAkB,KAAKD,SAA3B,EAAsC;EAC3C,WAAKA,SAAL,CAAehU,SAAf,CAAyBC,MAAzB,CAAgC4L,iBAAhC;;EAEA,UAAMgK,cAAc,GAAG,SAAjBA,cAAiB,GAAM;EAC3B,QAAA,MAAI,CAACN,eAAL;;EACAC,QAAAA,QAAQ;EACT,OAHD;;EAKA,UAAI,KAAKjW,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCqT,eAAjC,CAAJ,EAAuD;EACrD,YAAMqC,2BAA0B,GAAGthB,gCAAgC,CAAC,KAAK0f,SAAN,CAAnE;;EACAzY,QAAAA,YAAY,CAACgC,GAAb,CAAiB,KAAKyW,SAAtB,EAAiClhB,cAAjC,EAAiD+iB,cAAjD;EACAzgB,QAAAA,oBAAoB,CAAC,KAAK4e,SAAN,EAAiB4B,2BAAjB,CAApB;EACD,OAJD,MAIO;EACLC,QAAAA,cAAc;EACf;EACF,KAfM,MAeA;EACLL,MAAAA,QAAQ;EACT;EACF;;WAEDJ,6BAAA,sCAA6B;EAAA;;EAC3B,QAAI,KAAKnO,OAAL,CAAa2L,QAAb,KAA0B,QAA9B,EAAwC;EACtC,UAAMvB,SAAS,GAAG9V,YAAY,CAACuC,OAAb,CAAqB,KAAKyB,QAA1B,EAAoCsT,oBAApC,CAAlB;;EACA,UAAIxB,SAAS,CAAC3X,gBAAd,EAAgC;EAC9B;EACD;;EAED,UAAMoc,kBAAkB,GAAG,KAAKvW,QAAL,CAAcwW,YAAd,GAA6BpiB,QAAQ,CAACyD,eAAT,CAAyB4e,YAAjF;;EAEA,UAAI,CAACF,kBAAL,EAAyB;EACvB,aAAKvW,QAAL,CAAc1I,KAAd,CAAoBof,SAApB,GAAgC,QAAhC;EACD;;EAED,WAAK1W,QAAL,CAAcS,SAAd,CAAwBoJ,GAAxB,CAA4BoK,iBAA5B;;EACA,UAAM0C,uBAAuB,GAAG5hB,gCAAgC,CAAC,KAAKyf,OAAN,CAAhE;EACAxY,MAAAA,YAAY,CAACC,GAAb,CAAiB,KAAK+D,QAAtB,EAAgCzM,cAAhC;EACAyI,MAAAA,YAAY,CAACgC,GAAb,CAAiB,KAAKgC,QAAtB,EAAgCzM,cAAhC,EAAgD,YAAM;EACpD,QAAA,MAAI,CAACyM,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BuT,iBAA/B;;EACA,YAAI,CAACsC,kBAAL,EAAyB;EACvBva,UAAAA,YAAY,CAACgC,GAAb,CAAiB,MAAI,CAACgC,QAAtB,EAAgCzM,cAAhC,EAAgD,YAAM;EACpD,YAAA,MAAI,CAACyM,QAAL,CAAc1I,KAAd,CAAoBof,SAApB,GAAgC,EAAhC;EACD,WAFD;EAGA7gB,UAAAA,oBAAoB,CAAC,MAAI,CAACmK,QAAN,EAAgB2W,uBAAhB,CAApB;EACD;EACF,OARD;EASA9gB,MAAAA,oBAAoB,CAAC,KAAKmK,QAAN,EAAgB2W,uBAAhB,CAApB;;EACA,WAAK3W,QAAL,CAAc6R,KAAd;EACD,KA1BD,MA0BO;EACL,WAAKrE,IAAL;EACD;EACF;EAGD;EACA;;;WAEAwH,gBAAA,yBAAgB;EACd,QAAMuB,kBAAkB,GACtB,KAAKvW,QAAL,CAAcwW,YAAd,GAA6BpiB,QAAQ,CAACyD,eAAT,CAAyB4e,YADxD;;EAGA,QAAI,CAAC,KAAK9B,kBAAN,IAA4B4B,kBAAhC,EAAoD;EAClD,WAAKvW,QAAL,CAAc1I,KAAd,CAAoBsf,WAApB,GAAqC,KAAK/B,eAA1C;EACD;;EAED,QAAI,KAAKF,kBAAL,IAA2B,CAAC4B,kBAAhC,EAAoD;EAClD,WAAKvW,QAAL,CAAc1I,KAAd,CAAoBuf,YAApB,GAAsC,KAAKhC,eAA3C;EACD;EACF;;WAEDiB,oBAAA,6BAAoB;EAClB,SAAK9V,QAAL,CAAc1I,KAAd,CAAoBsf,WAApB,GAAkC,EAAlC;EACA,SAAK5W,QAAL,CAAc1I,KAAd,CAAoBuf,YAApB,GAAmC,EAAnC;EACD;;WAED/B,kBAAA,2BAAkB;EAChB,QAAMrS,IAAI,GAAGrO,QAAQ,CAACmE,IAAT,CAAcmK,qBAAd,EAAb;EACA,SAAKiS,kBAAL,GAA0B1gB,IAAI,CAAC6iB,KAAL,CAAWrU,IAAI,CAACI,IAAL,GAAYJ,IAAI,CAACsU,KAA5B,IAAqC/hB,MAAM,CAACgiB,UAAtE;EACA,SAAKnC,eAAL,GAAuB,KAAKoC,kBAAL,EAAvB;EACD;;WAEDlC,gBAAA,yBAAgB;EAAA;;EACd,QAAI,KAAKJ,kBAAT,EAA6B;EAC3B;EACA;EAEA;EACAxR,MAAAA,cAAc,CAAC3J,IAAf,CAAoB6a,sBAApB,EACGzd,OADH,CACW,UAAArC,OAAO,EAAI;EAClB,YAAM2iB,aAAa,GAAG3iB,OAAO,CAAC+C,KAAR,CAAcuf,YAApC;EACA,YAAMM,iBAAiB,GAAGniB,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,EAAiC,eAAjC,CAA1B;EACA0N,QAAAA,WAAW,CAACC,gBAAZ,CAA6B3N,OAA7B,EAAsC,eAAtC,EAAuD2iB,aAAvD;EACA3iB,QAAAA,OAAO,CAAC+C,KAAR,CAAcuf,YAAd,GAAgCxhB,UAAU,CAAC8hB,iBAAD,CAAV,GAAgC,OAAI,CAACtC,eAArE;EACD,OANH,EAL2B;;EAc3B1R,MAAAA,cAAc,CAAC3J,IAAf,CAAoB8a,uBAApB,EACG1d,OADH,CACW,UAAArC,OAAO,EAAI;EAClB,YAAM6iB,YAAY,GAAG7iB,OAAO,CAAC+C,KAAR,CAAc+f,WAAnC;EACA,YAAMC,gBAAgB,GAAGtiB,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,EAAiC,cAAjC,CAAzB;EACA0N,QAAAA,WAAW,CAACC,gBAAZ,CAA6B3N,OAA7B,EAAsC,cAAtC,EAAsD6iB,YAAtD;EACA7iB,QAAAA,OAAO,CAAC+C,KAAR,CAAc+f,WAAd,GAA+BhiB,UAAU,CAACiiB,gBAAD,CAAV,GAA+B,OAAI,CAACzC,eAAnE;EACD,OANH,EAd2B;;EAuB3B,UAAMqC,aAAa,GAAG9iB,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBuf,YAA1C;EACA,UAAMM,iBAAiB,GAAGniB,MAAM,CAACC,gBAAP,CAAwBb,QAAQ,CAACmE,IAAjC,EAAuC,eAAvC,CAA1B;EAEA0J,MAAAA,WAAW,CAACC,gBAAZ,CAA6B9N,QAAQ,CAACmE,IAAtC,EAA4C,eAA5C,EAA6D2e,aAA7D;EACA9iB,MAAAA,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBuf,YAApB,GAAsCxhB,UAAU,CAAC8hB,iBAAD,CAAV,GAAgC,KAAKtC,eAA3E;EACD;;EAEDzgB,IAAAA,QAAQ,CAACmE,IAAT,CAAckI,SAAd,CAAwBoJ,GAAxB,CAA4BkK,eAA5B;EACD;;WAEDgC,kBAAA,2BAAkB;EAChB;EACA5S,IAAAA,cAAc,CAAC3J,IAAf,CAAoB6a,sBAApB,EACGzd,OADH,CACW,UAAArC,OAAO,EAAI;EAClB,UAAMgjB,OAAO,GAAGtV,WAAW,CAACM,gBAAZ,CAA6BhO,OAA7B,EAAsC,eAAtC,CAAhB;;EACA,UAAI,OAAOgjB,OAAP,KAAmB,WAAvB,EAAoC;EAClCtV,QAAAA,WAAW,CAACE,mBAAZ,CAAgC5N,OAAhC,EAAyC,eAAzC;EACAA,QAAAA,OAAO,CAAC+C,KAAR,CAAcuf,YAAd,GAA6BU,OAA7B;EACD;EACF,KAPH,EAFgB;;EAYhBpU,IAAAA,cAAc,CAAC3J,IAAf,MAAuB8a,uBAAvB,EACG1d,OADH,CACW,UAAArC,OAAO,EAAI;EAClB,UAAMijB,MAAM,GAAGvV,WAAW,CAACM,gBAAZ,CAA6BhO,OAA7B,EAAsC,cAAtC,CAAf;;EACA,UAAI,OAAOijB,MAAP,KAAkB,WAAtB,EAAmC;EACjCvV,QAAAA,WAAW,CAACE,mBAAZ,CAAgC5N,OAAhC,EAAyC,cAAzC;EACAA,QAAAA,OAAO,CAAC+C,KAAR,CAAc+f,WAAd,GAA4BG,MAA5B;EACD;EACF,KAPH,EAZgB;;EAsBhB,QAAMD,OAAO,GAAGtV,WAAW,CAACM,gBAAZ,CAA6BnO,QAAQ,CAACmE,IAAtC,EAA4C,eAA5C,CAAhB;;EACA,QAAI,OAAOgf,OAAP,KAAmB,WAAvB,EAAoC;EAClCnjB,MAAAA,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBuf,YAApB,GAAmC,EAAnC;EACD,KAFD,MAEO;EACL5U,MAAAA,WAAW,CAACE,mBAAZ,CAAgC/N,QAAQ,CAACmE,IAAzC,EAA+C,eAA/C;EACAnE,MAAAA,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBuf,YAApB,GAAmCU,OAAnC;EACD;EACF;;WAEDN,qBAAA,8BAAqB;EAAE;EACrB,QAAMQ,SAAS,GAAGrjB,QAAQ,CAAC6F,aAAT,CAAuB,KAAvB,CAAlB;EACAwd,IAAAA,SAAS,CAACtB,SAAV,GAAsBtC,6BAAtB;EACAzf,IAAAA,QAAQ,CAACmE,IAAT,CAAcmd,WAAd,CAA0B+B,SAA1B;EACA,QAAMC,cAAc,GAAGD,SAAS,CAAC/U,qBAAV,GAAkCiV,KAAlC,GAA0CF,SAAS,CAACG,WAA3E;EACAxjB,IAAAA,QAAQ,CAACmE,IAAT,CAAcsI,WAAd,CAA0B4W,SAA1B;EACA,WAAOC,cAAP;EACD;;;UAIM5W,kBAAP,yBAAuBtK,MAAvB,EAA+BgU,aAA/B,EAA8C;EAC5C,WAAO,KAAKzJ,IAAL,CAAU,YAAY;EAC3B,UAAIjI,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB+F,UAAnB,CAAX;;EACA,UAAMqI,OAAO,gBACRnD,SADQ,EAERtC,WAAW,CAACG,iBAAZ,CAA8B,IAA9B,CAFQ,EAGP,OAAO5L,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHzC,CAAb;;EAMA,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIyb,KAAJ,CAAU,IAAV,EAAgB7M,OAAhB,CAAP;EACD;;EAED,UAAI,OAAOlR,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ,CAAagU,aAAb;EACD,OAND,MAMO,IAAI9C,OAAO,CAAC+F,IAAZ,EAAkB;EACvB3U,QAAAA,IAAI,CAAC2U,IAAL,CAAUjD,aAAV;EACD;EACF,KArBM,CAAP;EAsBD;;UAEMtJ,cAAP,qBAAmB3M,OAAnB,EAA4B;EAC1B,WAAO4E,IAAI,CAACG,OAAL,CAAa/E,OAAb,EAAsB8K,UAAtB,CAAP;EACD;;;;0BArdoB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOmF,SAAP;EACD;;;;;EAkdH;EACA;EACA;EACA;EACA;;;EAEAvI,YAAY,CAAC+B,EAAb,CAAgB3J,QAAhB,EAA0BuL,sBAA1B,EAAgD4B,sBAAhD,EAAsE,UAAU1F,KAAV,EAAiB;EAAA;;EACrF,MAAMS,MAAM,GAAGxH,sBAAsB,CAAC,IAAD,CAArC;;EAEA,MAAI,KAAKgV,OAAL,KAAiB,GAAjB,IAAwB,KAAKA,OAAL,KAAiB,MAA7C,EAAqD;EACnDjO,IAAAA,KAAK,CAAC3B,cAAN;EACD;;EAED8B,EAAAA,YAAY,CAACgC,GAAb,CAAiB1B,MAAjB,EAAyB4P,YAAzB,EAAqC,UAAAuF,SAAS,EAAI;EAChD,QAAIA,SAAS,CAACtX,gBAAd,EAAgC;EAC9B;EACA;EACD;;EAED6B,IAAAA,YAAY,CAACgC,GAAb,CAAiB1B,MAAjB,EAAyB+P,cAAzB,EAAuC,YAAM;EAC3C,UAAIhV,SAAS,CAAC,OAAD,CAAb,EAAqB;EACnB,QAAA,OAAI,CAACwa,KAAL;EACD;EACF,KAJD;EAKD,GAXD;EAaA,MAAI/Y,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAagD,MAAb,EAAqB+C,UAArB,CAAX;;EACA,MAAI,CAACvG,IAAL,EAAW;EACT,QAAMtC,MAAM,gBACPyL,WAAW,CAACG,iBAAZ,CAA8B9F,MAA9B,CADO,EAEP2F,WAAW,CAACG,iBAAZ,CAA8B,IAA9B,CAFO,CAAZ;;EAKAtJ,IAAAA,IAAI,GAAG,IAAIyb,KAAJ,CAAUjY,MAAV,EAAkB9F,MAAlB,CAAP;EACD;;EAEDsC,EAAAA,IAAI,CAAC2U,IAAL,CAAU,IAAV;EACD,CA/BD;EAiCA,IAAM5S,GAAC,GAAGxC,SAAS,EAAnB;EAEA;EACA;EACA;EACA;EACA;EACA;;EACA;;EACA,IAAIwC,GAAJ,EAAO;EACL,MAAMsG,oBAAkB,GAAGtG,GAAC,CAACc,EAAF,CAAKwD,MAAL,CAA3B;EACAtE,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAaoV,KAAK,CAACzT,eAAnB;EACAjG,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWiC,WAAX,GAAyBmT,KAAzB;;EACA1Z,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5BxG,IAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAagC,oBAAb;EACA,WAAOoT,KAAK,CAACzT,eAAb;EACD,GAHD;EAID;;EClnBD;EACA;EACA;EACA;EACA;EACA;EAEA,IAAM+W,QAAQ,GAAG,CACf,YADe,EAEf,MAFe,EAGf,MAHe,EAIf,UAJe,EAKf,UALe,EAMf,QANe,EAOf,KAPe,EAQf,YARe,CAAjB;EAWA,IAAMC,sBAAsB,GAAG,gBAA/B;EAEA;EACA;EACA;EACA;EACA;;EACA,IAAMC,gBAAgB,GAAG,6DAAzB;EAEA;EACA;EACA;EACA;EACA;;EACA,IAAMC,gBAAgB,GAAG,oIAAzB;;EAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,IAAD,EAAOC,oBAAP,EAAgC;EACvD,MAAMC,QAAQ,GAAGF,IAAI,CAACG,QAAL,CAAcvkB,WAAd,EAAjB;;EAEA,MAAIqkB,oBAAoB,CAAC7a,OAArB,CAA6B8a,QAA7B,MAA2C,CAAC,CAAhD,EAAmD;EACjD,QAAIP,QAAQ,CAACva,OAAT,CAAiB8a,QAAjB,MAA+B,CAAC,CAApC,EAAuC;EACrC,aAAO5d,OAAO,CAAC0d,IAAI,CAACI,SAAL,CAAezkB,KAAf,CAAqBkkB,gBAArB,KAA0CG,IAAI,CAACI,SAAL,CAAezkB,KAAf,CAAqBmkB,gBAArB,CAA3C,CAAd;EACD;;EAED,WAAO,IAAP;EACD;;EAED,MAAMO,MAAM,GAAGJ,oBAAoB,CAAC5U,MAArB,CAA4B,UAAAiV,SAAS;EAAA,WAAIA,SAAS,YAAYvhB,MAAzB;EAAA,GAArC,CAAf,CAXuD;;EAcvD,OAAK,IAAIsF,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAG0b,MAAM,CAAC/b,MAA7B,EAAqCD,CAAC,GAAGM,GAAzC,EAA8CN,CAAC,EAA/C,EAAmD;EACjD,QAAI6b,QAAQ,CAACvkB,KAAT,CAAe0kB,MAAM,CAAChc,CAAD,CAArB,CAAJ,EAA+B;EAC7B,aAAO,IAAP;EACD;EACF;;EAED,SAAO,KAAP;EACD,CArBD;;EAuBO,IAAMkc,gBAAgB,GAAG;EAC9B;EACA,OAAK,CAAC,OAAD,EAAU,KAAV,EAAiB,IAAjB,EAAuB,MAAvB,EAA+B,MAA/B,EAAuCX,sBAAvC,CAFyB;EAG9BY,EAAAA,CAAC,EAAE,CAAC,QAAD,EAAW,MAAX,EAAmB,OAAnB,EAA4B,KAA5B,CAH2B;EAI9BC,EAAAA,IAAI,EAAE,EAJwB;EAK9BC,EAAAA,CAAC,EAAE,EAL2B;EAM9BC,EAAAA,EAAE,EAAE,EAN0B;EAO9BC,EAAAA,GAAG,EAAE,EAPyB;EAQ9BC,EAAAA,IAAI,EAAE,EARwB;EAS9BC,EAAAA,GAAG,EAAE,EATyB;EAU9BC,EAAAA,EAAE,EAAE,EAV0B;EAW9BC,EAAAA,EAAE,EAAE,EAX0B;EAY9BC,EAAAA,EAAE,EAAE,EAZ0B;EAa9BC,EAAAA,EAAE,EAAE,EAb0B;EAc9BC,EAAAA,EAAE,EAAE,EAd0B;EAe9BC,EAAAA,EAAE,EAAE,EAf0B;EAgB9BC,EAAAA,EAAE,EAAE,EAhB0B;EAiB9BC,EAAAA,EAAE,EAAE,EAjB0B;EAkB9Bjd,EAAAA,CAAC,EAAE,EAlB2B;EAmB9Bkd,EAAAA,GAAG,EAAE,CAAC,KAAD,EAAQ,QAAR,EAAkB,KAAlB,EAAyB,OAAzB,EAAkC,OAAlC,EAA2C,QAA3C,CAnByB;EAoB9BC,EAAAA,EAAE,EAAE,EApB0B;EAqB9BC,EAAAA,EAAE,EAAE,EArB0B;EAsB9BC,EAAAA,CAAC,EAAE,EAtB2B;EAuB9BC,EAAAA,GAAG,EAAE,EAvByB;EAwB9BC,EAAAA,CAAC,EAAE,EAxB2B;EAyB9BC,EAAAA,KAAK,EAAE,EAzBuB;EA0B9BC,EAAAA,IAAI,EAAE,EA1BwB;EA2B9BC,EAAAA,GAAG,EAAE,EA3ByB;EA4B9BC,EAAAA,GAAG,EAAE,EA5ByB;EA6B9BC,EAAAA,MAAM,EAAE,EA7BsB;EA8B9BC,EAAAA,CAAC,EAAE,EA9B2B;EA+B9BC,EAAAA,EAAE,EAAE;EA/B0B,CAAzB;EAkCA,SAASC,YAAT,CAAsBC,UAAtB,EAAkCC,SAAlC,EAA6CC,UAA7C,EAAyD;EAAA;;EAC9D,MAAI,CAACF,UAAU,CAAC/d,MAAhB,EAAwB;EACtB,WAAO+d,UAAP;EACD;;EAED,MAAIE,UAAU,IAAI,OAAOA,UAAP,KAAsB,UAAxC,EAAoD;EAClD,WAAOA,UAAU,CAACF,UAAD,CAAjB;EACD;;EAED,MAAMG,SAAS,GAAG,IAAI1lB,MAAM,CAAC2lB,SAAX,EAAlB;EACA,MAAMC,eAAe,GAAGF,SAAS,CAACG,eAAV,CAA0BN,UAA1B,EAAsC,WAAtC,CAAxB;EACA,MAAMO,aAAa,GAAGpkB,MAAM,CAACC,IAAP,CAAY6jB,SAAZ,CAAtB;;EACA,MAAMO,QAAQ,GAAG,YAAG3X,MAAH,aAAawX,eAAe,CAACriB,IAAhB,CAAqBoB,gBAArB,CAAsC,GAAtC,CAAb,CAAjB;;EAZ8D,6BAcrD4C,CAdqD,EAc9CM,GAd8C;EAAA;;EAe5D,QAAMme,EAAE,GAAGD,QAAQ,CAACxe,CAAD,CAAnB;EACA,QAAM0e,MAAM,GAAGD,EAAE,CAAC3C,QAAH,CAAYvkB,WAAZ,EAAf;;EAEA,QAAIgnB,aAAa,CAACxd,OAAd,CAAsB2d,MAAtB,MAAkC,CAAC,CAAvC,EAA0C;EACxCD,MAAAA,EAAE,CAACzjB,UAAH,CAAcsJ,WAAd,CAA0Bma,EAA1B;EAEA;EACD;;EAED,QAAME,aAAa,GAAG,aAAG9X,MAAH,cAAa4X,EAAE,CAAC3Y,UAAhB,CAAtB;;EACA,QAAM8Y,iBAAiB,GAAG,GAAG/X,MAAH,CAAUoX,SAAS,CAAC,GAAD,CAAT,IAAkB,EAA5B,EAAgCA,SAAS,CAACS,MAAD,CAAT,IAAqB,EAArD,CAA1B;EAEAC,IAAAA,aAAa,CAACtkB,OAAd,CAAsB,UAAAshB,IAAI,EAAI;EAC5B,UAAI,CAACD,gBAAgB,CAACC,IAAD,EAAOiD,iBAAP,CAArB,EAAgD;EAC9CH,QAAAA,EAAE,CAACrgB,eAAH,CAAmBud,IAAI,CAACG,QAAxB;EACD;EACF,KAJD;EA3B4D;;EAc9D,OAAK,IAAI9b,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGke,QAAQ,CAACve,MAA/B,EAAuCD,CAAC,GAAGM,GAA3C,EAAgDN,CAAC,EAAjD,EAAqD;EAAA,qBAA5CA,CAA4C;;EAAA,6BAOjD;EAWH;;EAED,SAAOqe,eAAe,CAACriB,IAAhB,CAAqB6iB,SAA5B;EACD;;EClGD;EACA;EACA;EACA;EACA;;EAEA,IAAMjc,MAAI,GAAG,SAAb;EACA,IAAMC,SAAO,GAAG,cAAhB;EACA,IAAMC,UAAQ,GAAG,YAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAMgc,YAAY,GAAG,YAArB;EACA,IAAMC,kBAAkB,GAAG,IAAIrkB,MAAJ,aAAqBokB,YAArB,WAAyC,GAAzC,CAA3B;EACA,IAAME,qBAAqB,GAAG,CAAC,UAAD,EAAa,WAAb,EAA0B,YAA1B,CAA9B;EAEA,IAAMzW,aAAW,GAAG;EAClB0W,EAAAA,SAAS,EAAE,SADO;EAElBC,EAAAA,QAAQ,EAAE,QAFQ;EAGlBC,EAAAA,KAAK,EAAE,2BAHW;EAIlBnd,EAAAA,OAAO,EAAE,QAJS;EAKlBod,EAAAA,KAAK,EAAE,iBALW;EAMlBC,EAAAA,IAAI,EAAE,SANY;EAOlBpnB,EAAAA,QAAQ,EAAE,kBAPQ;EAQlB8d,EAAAA,SAAS,EAAE,mBARO;EASlB9P,EAAAA,MAAM,EAAE,0BATU;EAUlBoL,EAAAA,SAAS,EAAE,0BAVO;EAWlBiO,EAAAA,iBAAiB,EAAE,gBAXD;EAYlBjL,EAAAA,QAAQ,EAAE,kBAZQ;EAalBkL,EAAAA,QAAQ,EAAE,SAbQ;EAclBrB,EAAAA,UAAU,EAAE,iBAdM;EAelBD,EAAAA,SAAS,EAAE,QAfO;EAgBlB1J,EAAAA,YAAY,EAAE;EAhBI,CAApB;EAmBA,IAAMiL,aAAa,GAAG;EACpBC,EAAAA,IAAI,EAAE,MADc;EAEpBC,EAAAA,GAAG,EAAE,KAFe;EAGpBC,EAAAA,KAAK,EAAE,OAHa;EAIpBC,EAAAA,MAAM,EAAE,QAJY;EAKpBC,EAAAA,IAAI,EAAE;EALc,CAAtB;EAQA,IAAM7X,SAAO,GAAG;EACdiX,EAAAA,SAAS,EAAE,IADG;EAEdC,EAAAA,QAAQ,EAAE,yCACQ,mCADR,GAEQ,yCAJJ;EAKdld,EAAAA,OAAO,EAAE,aALK;EAMdmd,EAAAA,KAAK,EAAE,EANO;EAOdC,EAAAA,KAAK,EAAE,CAPO;EAQdC,EAAAA,IAAI,EAAE,KARQ;EASdpnB,EAAAA,QAAQ,EAAE,KATI;EAUd8d,EAAAA,SAAS,EAAE,KAVG;EAWd9P,EAAAA,MAAM,EAAE,CAXM;EAYdoL,EAAAA,SAAS,EAAE,KAZG;EAadiO,EAAAA,iBAAiB,EAAE,MAbL;EAcdjL,EAAAA,QAAQ,EAAE,cAdI;EAedkL,EAAAA,QAAQ,EAAE,IAfI;EAgBdrB,EAAAA,UAAU,EAAE,IAhBE;EAiBdD,EAAAA,SAAS,EAAE/B,gBAjBG;EAkBd3H,EAAAA,YAAY,EAAE;EAlBA,CAAhB;EAqBA,IAAMpb,OAAK,GAAG;EACZ2mB,EAAAA,IAAI,WAAS/c,WADD;EAEZgd,EAAAA,MAAM,aAAWhd,WAFL;EAGZid,EAAAA,IAAI,WAASjd,WAHD;EAIZkd,EAAAA,KAAK,YAAUld,WAJH;EAKZmd,EAAAA,QAAQ,eAAand,WALT;EAMZod,EAAAA,KAAK,YAAUpd,WANH;EAOZqd,EAAAA,OAAO,cAAYrd,WAPP;EAQZsd,EAAAA,QAAQ,eAAatd,WART;EASZud,EAAAA,UAAU,iBAAevd,WATb;EAUZwd,EAAAA,UAAU,iBAAexd;EAVb,CAAd;EAaA,IAAM0U,iBAAe,GAAG,MAAxB;EACA,IAAM+I,gBAAgB,GAAG,OAAzB;EACA,IAAMzQ,iBAAe,GAAG,MAAxB;EAEA,IAAM0Q,gBAAgB,GAAG,MAAzB;EACA,IAAMC,eAAe,GAAG,KAAxB;EAEA,IAAMC,sBAAsB,GAAG,gBAA/B;EAEA,IAAMC,aAAa,GAAG,OAAtB;EACA,IAAMC,aAAa,GAAG,OAAtB;EACA,IAAMC,aAAa,GAAG,OAAtB;EACA,IAAMC,cAAc,GAAG,QAAvB;EAEA;EACA;EACA;EACA;EACA;;MAEMC;EACJ,mBAAYhpB,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,QAAI,OAAOkb,MAAP,KAAkB,WAAtB,EAAmC;EACjC,YAAM,IAAI9F,SAAJ,CAAc,iEAAd,CAAN;EACD,KAH0B;;;EAM3B,SAAK4R,UAAL,GAAkB,IAAlB;EACA,SAAKC,QAAL,GAAgB,CAAhB;EACA,SAAKC,WAAL,GAAmB,EAAnB;EACA,SAAKC,cAAL,GAAsB,EAAtB;EACA,SAAK3M,OAAL,GAAe,IAAf,CAV2B;;EAa3B,SAAKzc,OAAL,GAAeA,OAAf;EACA,SAAKiC,MAAL,GAAc,KAAKmR,UAAL,CAAgBnR,MAAhB,CAAd;EACA,SAAKonB,GAAL,GAAW,IAAX;;EAEA,SAAKC,aAAL;;EACA1kB,IAAAA,IAAI,CAACC,OAAL,CAAa7E,OAAb,EAAsB,KAAK4d,WAAL,CAAiB9S,QAAvC,EAAiD,IAAjD;EACD;;;;;EAgCD;WAEAye,SAAA,kBAAS;EACP,SAAKN,UAAL,GAAkB,IAAlB;EACD;;WAEDO,UAAA,mBAAU;EACR,SAAKP,UAAL,GAAkB,KAAlB;EACD;;WAEDQ,gBAAA,yBAAgB;EACd,SAAKR,UAAL,GAAkB,CAAC,KAAKA,UAAxB;EACD;;WAED/b,SAAA,gBAAO5F,KAAP,EAAc;EACZ,QAAI,CAAC,KAAK2hB,UAAV,EAAsB;EACpB;EACD;;EAED,QAAI3hB,KAAJ,EAAW;EACT,UAAMoiB,OAAO,GAAG,KAAK9L,WAAL,CAAiB9S,QAAjC;EACA,UAAI2T,OAAO,GAAG7Z,IAAI,CAACG,OAAL,CAAauC,KAAK,CAACC,cAAnB,EAAmCmiB,OAAnC,CAAd;;EAEA,UAAI,CAACjL,OAAL,EAAc;EACZA,QAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACRtW,KAAK,CAACC,cADE,EAER,KAAKoiB,kBAAL,EAFQ,CAAV;EAIA/kB,QAAAA,IAAI,CAACC,OAAL,CAAayC,KAAK,CAACC,cAAnB,EAAmCmiB,OAAnC,EAA4CjL,OAA5C;EACD;;EAEDA,MAAAA,OAAO,CAAC2K,cAAR,CAAuBQ,KAAvB,GAA+B,CAACnL,OAAO,CAAC2K,cAAR,CAAuBQ,KAAvD;;EAEA,UAAInL,OAAO,CAACoL,oBAAR,EAAJ,EAAoC;EAClCpL,QAAAA,OAAO,CAACqL,MAAR,CAAe,IAAf,EAAqBrL,OAArB;EACD,OAFD,MAEO;EACLA,QAAAA,OAAO,CAACsL,MAAR,CAAe,IAAf,EAAqBtL,OAArB;EACD;EACF,KAnBD,MAmBO;EACL,UAAI,KAAKuL,aAAL,GAAqB9d,SAArB,CAA+BE,QAA/B,CAAwC2L,iBAAxC,CAAJ,EAA8D;EAC5D,aAAKgS,MAAL,CAAY,IAAZ,EAAkB,IAAlB;;EACA;EACD;;EAED,WAAKD,MAAL,CAAY,IAAZ,EAAkB,IAAlB;EACD;EACF;;WAED9d,UAAA,mBAAU;EACRoJ,IAAAA,YAAY,CAAC,KAAK8T,QAAN,CAAZ;EAEAtkB,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKhF,OAArB,EAA8B,KAAK4d,WAAL,CAAiB9S,QAA/C;EAEArD,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAK1H,OAAtB,EAA+B,KAAK4d,WAAL,CAAiB7S,SAAhD;EACAtD,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAK1H,OAAL,CAAaiM,OAAb,OAAyBuc,gBAAzB,CAAjB,EAA+D,eAA/D,EAAgF,KAAKyB,iBAArF;;EAEA,QAAI,KAAKZ,GAAT,EAAc;EACZ,WAAKA,GAAL,CAASrmB,UAAT,CAAoBsJ,WAApB,CAAgC,KAAK+c,GAArC;EACD;;EAED,SAAKJ,UAAL,GAAkB,IAAlB;EACA,SAAKC,QAAL,GAAgB,IAAhB;EACA,SAAKC,WAAL,GAAmB,IAAnB;EACA,SAAKC,cAAL,GAAsB,IAAtB;;EACA,QAAI,KAAK3M,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAae,OAAb;EACD;;EAED,SAAKf,OAAL,GAAe,IAAf;EACA,SAAKzc,OAAL,GAAe,IAAf;EACA,SAAKiC,MAAL,GAAc,IAAd;EACA,SAAKonB,GAAL,GAAW,IAAX;EACD;;WAEDnQ,OAAA,gBAAO;EAAA;;EACL,QAAI,KAAKlZ,OAAL,CAAa+C,KAAb,CAAmBI,OAAnB,KAA+B,MAAnC,EAA2C;EACzC,YAAM,IAAIP,KAAJ,CAAU,qCAAV,CAAN;EACD;;EAED,QAAI,KAAKsnB,aAAL,MAAwB,KAAKjB,UAAjC,EAA6C;EAC3C,UAAM/L,SAAS,GAAGzV,YAAY,CAACuC,OAAb,CAAqB,KAAKhK,OAA1B,EAAmC,KAAK4d,WAAL,CAAiBzc,KAAjB,CAAuB6mB,IAA1D,CAAlB;EACA,UAAMmC,UAAU,GAAG9mB,cAAc,CAAC,KAAKrD,OAAN,CAAjC;EACA,UAAMoqB,UAAU,GAAGD,UAAU,KAAK,IAAf,GACjB,KAAKnqB,OAAL,CAAaqqB,aAAb,CAA2B/mB,eAA3B,CAA2C8I,QAA3C,CAAoD,KAAKpM,OAAzD,CADiB,GAEjBmqB,UAAU,CAAC/d,QAAX,CAAoB,KAAKpM,OAAzB,CAFF;;EAIA,UAAIkd,SAAS,CAACtX,gBAAV,IAA8B,CAACwkB,UAAnC,EAA+C;EAC7C;EACD;;EAED,UAAMf,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,UAAMM,KAAK,GAAG9qB,MAAM,CAAC,KAAKoe,WAAL,CAAiBhT,IAAlB,CAApB;EAEAye,MAAAA,GAAG,CAAClc,YAAJ,CAAiB,IAAjB,EAAuBmd,KAAvB;EACA,WAAKtqB,OAAL,CAAamN,YAAb,CAA0B,kBAA1B,EAA8Cmd,KAA9C;EAEA,WAAKC,UAAL;;EAEA,UAAI,KAAKtoB,MAAL,CAAYglB,SAAhB,EAA2B;EACzBoC,QAAAA,GAAG,CAACnd,SAAJ,CAAcoJ,GAAd,CAAkBmK,iBAAlB;EACD;;EAED,UAAM1B,SAAS,GAAG,OAAO,KAAK9b,MAAL,CAAY8b,SAAnB,KAAiC,UAAjC,GAChB,KAAK9b,MAAL,CAAY8b,SAAZ,CAAsB1e,IAAtB,CAA2B,IAA3B,EAAiCgqB,GAAjC,EAAsC,KAAKrpB,OAA3C,CADgB,GAEhB,KAAKiC,MAAL,CAAY8b,SAFd;;EAIA,UAAMyM,UAAU,GAAG,KAAKC,cAAL,CAAoB1M,SAApB,CAAnB;;EACA,WAAK2M,mBAAL,CAAyBF,UAAzB;;EAEA,UAAMnR,SAAS,GAAG,KAAKsR,aAAL,EAAlB;;EACA/lB,MAAAA,IAAI,CAACC,OAAL,CAAawkB,GAAb,EAAkB,KAAKzL,WAAL,CAAiB9S,QAAnC,EAA6C,IAA7C;;EAEA,UAAI,CAAC,KAAK9K,OAAL,CAAaqqB,aAAb,CAA2B/mB,eAA3B,CAA2C8I,QAA3C,CAAoD,KAAKid,GAAzD,CAAL,EAAoE;EAClEhQ,QAAAA,SAAS,CAAC8H,WAAV,CAAsBkI,GAAtB;EACD;;EAED5hB,MAAAA,YAAY,CAACuC,OAAb,CAAqB,KAAKhK,OAA1B,EAAmC,KAAK4d,WAAL,CAAiBzc,KAAjB,CAAuB+mB,QAA1D;EAEA,WAAKzL,OAAL,GAAe,IAAIU,MAAJ,CAAW,KAAKnd,OAAhB,EAAyBqpB,GAAzB,EAA8B,KAAKhM,gBAAL,CAAsBmN,UAAtB,CAA9B,CAAf;EAEAnB,MAAAA,GAAG,CAACnd,SAAJ,CAAcoJ,GAAd,CAAkByC,iBAAlB,EAzC2C;EA4C3C;EACA;EACA;;EACA,UAAI,kBAAkBlY,QAAQ,CAACyD,eAA/B,EAAgD;EAAA;;EAC9C,oBAAGuL,MAAH,aAAahP,QAAQ,CAACmE,IAAT,CAAc+K,QAA3B,EAAqC1M,OAArC,CAA6C,UAAArC,OAAO,EAAI;EACtDyH,UAAAA,YAAY,CAAC+B,EAAb,CAAgBxJ,OAAhB,EAAyB,WAAzB,EAAsC2D,IAAI,EAA1C;EACD,SAFD;EAGD;;EAED,UAAMkW,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,YAAI,KAAI,CAAC5X,MAAL,CAAYglB,SAAhB,EAA2B;EACzB,UAAA,KAAI,CAAC2D,cAAL;EACD;;EAED,YAAMC,cAAc,GAAG,KAAI,CAAC1B,WAA5B;EACA,QAAA,KAAI,CAACA,WAAL,GAAmB,IAAnB;EAEA1hB,QAAAA,YAAY,CAACuC,OAAb,CAAqB,KAAI,CAAChK,OAA1B,EAAmC,KAAI,CAAC4d,WAAL,CAAiBzc,KAAjB,CAAuB8mB,KAA1D;;EAEA,YAAI4C,cAAc,KAAKnC,eAAvB,EAAwC;EACtC,UAAA,KAAI,CAACqB,MAAL,CAAY,IAAZ,EAAkB,KAAlB;EACD;EACF,OAbD;;EAeA,UAAI,KAAKV,GAAL,CAASnd,SAAT,CAAmBE,QAAnB,CAA4BqT,iBAA5B,CAAJ,EAAkD;EAChD,YAAM9e,kBAAkB,GAAGH,gCAAgC,CAAC,KAAK6oB,GAAN,CAA3D;EACA5hB,QAAAA,YAAY,CAACgC,GAAb,CAAiB,KAAK4f,GAAtB,EAA2BrqB,cAA3B,EAA2C6a,QAA3C;EACAvY,QAAAA,oBAAoB,CAAC,KAAK+nB,GAAN,EAAW1oB,kBAAX,CAApB;EACD,OAJD,MAIO;EACLkZ,QAAAA,QAAQ;EACT;EACF;EACF;;WAEDZ,OAAA,gBAAO;EAAA;;EACL,QAAI,CAAC,KAAKwD,OAAV,EAAmB;EACjB;EACD;;EAED,QAAM4M,GAAG,GAAG,KAAKW,aAAL,EAAZ;;EACA,QAAMnQ,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,UAAI,MAAI,CAACsP,WAAL,KAAqBV,gBAArB,IAAyCY,GAAG,CAACrmB,UAAjD,EAA6D;EAC3DqmB,QAAAA,GAAG,CAACrmB,UAAJ,CAAesJ,WAAf,CAA2B+c,GAA3B;EACD;;EAED,MAAA,MAAI,CAACyB,cAAL;;EACA,MAAA,MAAI,CAAC9qB,OAAL,CAAaoG,eAAb,CAA6B,kBAA7B;;EACAqB,MAAAA,YAAY,CAACuC,OAAb,CAAqB,MAAI,CAAChK,OAA1B,EAAmC,MAAI,CAAC4d,WAAL,CAAiBzc,KAAjB,CAAuB4mB,MAA1D;;EACA,MAAA,MAAI,CAACtL,OAAL,CAAae,OAAb;EACD,KATD;;EAWA,QAAMD,SAAS,GAAG9V,YAAY,CAACuC,OAAb,CAAqB,KAAKhK,OAA1B,EAAmC,KAAK4d,WAAL,CAAiBzc,KAAjB,CAAuB2mB,IAA1D,CAAlB;;EACA,QAAIvK,SAAS,CAAC3X,gBAAd,EAAgC;EAC9B;EACD;;EAEDyjB,IAAAA,GAAG,CAACnd,SAAJ,CAAcC,MAAd,CAAqB4L,iBAArB,EAtBK;EAyBL;;EACA,QAAI,kBAAkBlY,QAAQ,CAACyD,eAA/B,EAAgD;EAAA;;EAC9C,mBAAGuL,MAAH,cAAahP,QAAQ,CAACmE,IAAT,CAAc+K,QAA3B,EACG1M,OADH,CACW,UAAArC,OAAO;EAAA,eAAIyH,YAAY,CAACC,GAAb,CAAiB1H,OAAjB,EAA0B,WAA1B,EAAuC2D,IAAvC,CAAJ;EAAA,OADlB;EAED;;EAED,SAAKylB,cAAL,CAAoBN,aAApB,IAAqC,KAArC;EACA,SAAKM,cAAL,CAAoBP,aAApB,IAAqC,KAArC;EACA,SAAKO,cAAL,CAAoBR,aAApB,IAAqC,KAArC;;EAEA,QAAI,KAAKS,GAAL,CAASnd,SAAT,CAAmBE,QAAnB,CAA4BqT,iBAA5B,CAAJ,EAAkD;EAChD,UAAM9e,kBAAkB,GAAGH,gCAAgC,CAAC6oB,GAAD,CAA3D;EAEA5hB,MAAAA,YAAY,CAACgC,GAAb,CAAiB4f,GAAjB,EAAsBrqB,cAAtB,EAAsC6a,QAAtC;EACAvY,MAAAA,oBAAoB,CAAC+nB,GAAD,EAAM1oB,kBAAN,CAApB;EACD,KALD,MAKO;EACLkZ,MAAAA,QAAQ;EACT;;EAED,SAAKsP,WAAL,GAAmB,EAAnB;EACD;;WAED1L,SAAA,kBAAS;EACP,QAAI,KAAKhB,OAAL,KAAiB,IAArB,EAA2B;EACzB,WAAKA,OAAL,CAAaiB,cAAb;EACD;EACF;;;WAIDwM,gBAAA,yBAAgB;EACd,WAAOjkB,OAAO,CAAC,KAAK8kB,QAAL,EAAD,CAAd;EACD;;WAEDf,gBAAA,yBAAgB;EACd,QAAI,KAAKX,GAAT,EAAc;EACZ,aAAO,KAAKA,GAAZ;EACD;;EAED,QAAMrpB,OAAO,GAAGH,QAAQ,CAAC6F,aAAT,CAAuB,KAAvB,CAAhB;EACA1F,IAAAA,OAAO,CAAC6mB,SAAR,GAAoB,KAAK5kB,MAAL,CAAYilB,QAAhC;EAEA,SAAKmC,GAAL,GAAWrpB,OAAO,CAAC+O,QAAR,CAAiB,CAAjB,CAAX;EACA,WAAO,KAAKsa,GAAZ;EACD;;WAEDkB,aAAA,sBAAa;EACX,QAAMlB,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,SAAKgB,iBAAL,CAAuBpc,cAAc,CAACvJ,OAAf,CAAuBsjB,sBAAvB,EAA+CU,GAA/C,CAAvB,EAA4E,KAAK0B,QAAL,EAA5E;EACA1B,IAAAA,GAAG,CAACnd,SAAJ,CAAcC,MAAd,CAAqBsT,iBAArB,EAAsC1H,iBAAtC;EACD;;WAEDiT,oBAAA,2BAAkBhrB,OAAlB,EAA2BirB,OAA3B,EAAoC;EAClC,QAAIjrB,OAAO,KAAK,IAAhB,EAAsB;EACpB;EACD;;EAED,QAAI,OAAOirB,OAAP,KAAmB,QAAnB,IAA+B7pB,SAAS,CAAC6pB,OAAD,CAA5C,EAAuD;EACrD,UAAIA,OAAO,CAAC/Q,MAAZ,EAAoB;EAClB+Q,QAAAA,OAAO,GAAGA,OAAO,CAAC,CAAD,CAAjB;EACD,OAHoD;;;EAMrD,UAAI,KAAKhpB,MAAL,CAAYolB,IAAhB,EAAsB;EACpB,YAAI4D,OAAO,CAACjoB,UAAR,KAAuBhD,OAA3B,EAAoC;EAClCA,UAAAA,OAAO,CAAC6mB,SAAR,GAAoB,EAApB;EACA7mB,UAAAA,OAAO,CAACmhB,WAAR,CAAoB8J,OAApB;EACD;EACF,OALD,MAKO;EACLjrB,QAAAA,OAAO,CAACkrB,WAAR,GAAsBD,OAAO,CAACC,WAA9B;EACD;;EAED;EACD;;EAED,QAAI,KAAKjpB,MAAL,CAAYolB,IAAhB,EAAsB;EACpB,UAAI,KAAKplB,MAAL,CAAYslB,QAAhB,EAA0B;EACxB0D,QAAAA,OAAO,GAAGlF,YAAY,CAACkF,OAAD,EAAU,KAAKhpB,MAAL,CAAYgkB,SAAtB,EAAiC,KAAKhkB,MAAL,CAAYikB,UAA7C,CAAtB;EACD;;EAEDlmB,MAAAA,OAAO,CAAC6mB,SAAR,GAAoBoE,OAApB;EACD,KAND,MAMO;EACLjrB,MAAAA,OAAO,CAACkrB,WAAR,GAAsBD,OAAtB;EACD;EACF;;WAEDF,WAAA,oBAAW;EACT,QAAI5D,KAAK,GAAG,KAAKnnB,OAAL,CAAaE,YAAb,CAA0B,qBAA1B,CAAZ;;EAEA,QAAI,CAACinB,KAAL,EAAY;EACVA,MAAAA,KAAK,GAAG,OAAO,KAAKllB,MAAL,CAAYklB,KAAnB,KAA6B,UAA7B,GACN,KAAKllB,MAAL,CAAYklB,KAAZ,CAAkB9nB,IAAlB,CAAuB,KAAKW,OAA5B,CADM,GAEN,KAAKiC,MAAL,CAAYklB,KAFd;EAGD;;EAED,WAAOA,KAAP;EACD;;;WAID9J,mBAAA,0BAAiBmN,UAAjB,EAA6B;EAAA;;EAC3B,QAAMW,eAAe,GAAG;EACtBpN,MAAAA,SAAS,EAAEyM,UADW;EAEtBtM,MAAAA,SAAS,EAAE;EACTjQ,QAAAA,MAAM,EAAE,KAAK+P,UAAL,EADC;EAET5B,QAAAA,IAAI,EAAE;EACJgP,UAAAA,QAAQ,EAAE,KAAKnpB,MAAL,CAAYqlB;EADlB,SAFG;EAKT+D,QAAAA,KAAK,EAAE;EACLrrB,UAAAA,OAAO,QAAM,KAAK4d,WAAL,CAAiBhT,IAAvB;EADF,SALE;EAQTwT,QAAAA,eAAe,EAAE;EACfC,UAAAA,iBAAiB,EAAE,KAAKpc,MAAL,CAAYoa;EADhB;EARR,OAFW;EActBiP,MAAAA,QAAQ,EAAE,kBAAA/mB,IAAI,EAAI;EAChB,YAAIA,IAAI,CAACgnB,iBAAL,KAA2BhnB,IAAI,CAACwZ,SAApC,EAA+C;EAC7C,UAAA,MAAI,CAACyN,4BAAL,CAAkCjnB,IAAlC;EACD;EACF,OAlBqB;EAmBtBknB,MAAAA,QAAQ,EAAE,kBAAAlnB,IAAI;EAAA,eAAI,MAAI,CAACinB,4BAAL,CAAkCjnB,IAAlC,CAAJ;EAAA;EAnBQ,KAAxB;EAsBA,wBACK4mB,eADL,EAEK,KAAKlpB,MAAL,CAAYsa,YAFjB;EAID;;WAEDmO,sBAAA,6BAAoBF,UAApB,EAAgC;EAC9B,SAAKR,aAAL,GAAqB9d,SAArB,CAA+BoJ,GAA/B,CAAsCwR,YAAtC,SAAsD0D,UAAtD;EACD;;WAEDxM,aAAA,sBAAa;EAAA;;EACX,QAAM/P,MAAM,GAAG,EAAf;;EAEA,QAAI,OAAO,KAAKhM,MAAL,CAAYgM,MAAnB,KAA8B,UAAlC,EAA8C;EAC5CA,MAAAA,MAAM,CAAC7G,EAAP,GAAY,UAAA7C,IAAI,EAAI;EAClBA,QAAAA,IAAI,CAAC0Z,OAAL,gBACK1Z,IAAI,CAAC0Z,OADV,EAEM,MAAI,CAAChc,MAAL,CAAYgM,MAAZ,CAAmB1J,IAAI,CAAC0Z,OAAxB,EAAiC,MAAI,CAACje,OAAtC,KAAkD,EAFxD;EAKA,eAAOuE,IAAP;EACD,OAPD;EAQD,KATD,MASO;EACL0J,MAAAA,MAAM,CAACA,MAAP,GAAgB,KAAKhM,MAAL,CAAYgM,MAA5B;EACD;;EAED,WAAOA,MAAP;EACD;;WAED0c,gBAAA,yBAAgB;EACd,QAAI,KAAK1oB,MAAL,CAAYoX,SAAZ,KAA0B,KAA9B,EAAqC;EACnC,aAAOxZ,QAAQ,CAACmE,IAAhB;EACD;;EAED,QAAI5C,SAAS,CAAC,KAAKa,MAAL,CAAYoX,SAAb,CAAb,EAAsC;EACpC,aAAO,KAAKpX,MAAL,CAAYoX,SAAnB;EACD;;EAED,WAAOzK,cAAc,CAACvJ,OAAf,CAAuB,KAAKpD,MAAL,CAAYoX,SAAnC,CAAP;EACD;;WAEDoR,iBAAA,wBAAe1M,SAAf,EAA0B;EACxB,WAAOyJ,aAAa,CAACzJ,SAAS,CAAClb,WAAV,EAAD,CAApB;EACD;;WAEDymB,gBAAA,yBAAgB;EAAA;;EACd,QAAMoC,QAAQ,GAAG,KAAKzpB,MAAL,CAAY+H,OAAZ,CAAoBhJ,KAApB,CAA0B,GAA1B,CAAjB;EAEA0qB,IAAAA,QAAQ,CAACrpB,OAAT,CAAiB,UAAA2H,OAAO,EAAI;EAC1B,UAAIA,OAAO,KAAK,OAAhB,EAAyB;EACvBvC,QAAAA,YAAY,CAAC+B,EAAb,CAAgB,MAAI,CAACxJ,OAArB,EACE,MAAI,CAAC4d,WAAL,CAAiBzc,KAAjB,CAAuBgnB,KADzB,EAEE,MAAI,CAAClmB,MAAL,CAAYhC,QAFd,EAGE,UAAAqH,KAAK;EAAA,iBAAI,MAAI,CAAC4F,MAAL,CAAY5F,KAAZ,CAAJ;EAAA,SAHP;EAKD,OAND,MAMO,IAAI0C,OAAO,KAAK+e,cAAhB,EAAgC;EACrC,YAAM4C,OAAO,GAAG3hB,OAAO,KAAK4e,aAAZ,GACd,MAAI,CAAChL,WAAL,CAAiBzc,KAAjB,CAAuBmnB,UADT,GAEd,MAAI,CAAC1K,WAAL,CAAiBzc,KAAjB,CAAuBinB,OAFzB;EAGA,YAAMwD,QAAQ,GAAG5hB,OAAO,KAAK4e,aAAZ,GACf,MAAI,CAAChL,WAAL,CAAiBzc,KAAjB,CAAuBonB,UADR,GAEf,MAAI,CAAC3K,WAAL,CAAiBzc,KAAjB,CAAuBknB,QAFzB;EAIA5gB,QAAAA,YAAY,CAAC+B,EAAb,CAAgB,MAAI,CAACxJ,OAArB,EACE2rB,OADF,EAEE,MAAI,CAAC1pB,MAAL,CAAYhC,QAFd,EAGE,UAAAqH,KAAK;EAAA,iBAAI,MAAI,CAACwiB,MAAL,CAAYxiB,KAAZ,CAAJ;EAAA,SAHP;EAKAG,QAAAA,YAAY,CAAC+B,EAAb,CAAgB,MAAI,CAACxJ,OAArB,EACE4rB,QADF,EAEE,MAAI,CAAC3pB,MAAL,CAAYhC,QAFd,EAGE,UAAAqH,KAAK;EAAA,iBAAI,MAAI,CAACyiB,MAAL,CAAYziB,KAAZ,CAAJ;EAAA,SAHP;EAKD;EACF,KA1BD;;EA4BA,SAAK2iB,iBAAL,GAAyB,YAAM;EAC7B,UAAI,MAAI,CAACjqB,OAAT,EAAkB;EAChB,QAAA,MAAI,CAACiZ,IAAL;EACD;EACF,KAJD;;EAMAxR,IAAAA,YAAY,CAAC+B,EAAb,CAAgB,KAAKxJ,OAAL,CAAaiM,OAAb,OAAyBuc,gBAAzB,CAAhB,EACE,eADF,EAEE,KAAKyB,iBAFP;;EAKA,QAAI,KAAKhoB,MAAL,CAAYhC,QAAhB,EAA0B;EACxB,WAAKgC,MAAL,gBACK,KAAKA,MADV;EAEE+H,QAAAA,OAAO,EAAE,QAFX;EAGE/J,QAAAA,QAAQ,EAAE;EAHZ;EAKD,KAND,MAMO;EACL,WAAK4rB,SAAL;EACD;EACF;;WAEDA,YAAA,qBAAY;EACV,QAAMC,SAAS,GAAG,OAAO,KAAK9rB,OAAL,CAAaE,YAAb,CAA0B,qBAA1B,CAAzB;;EAEA,QAAI,KAAKF,OAAL,CAAaE,YAAb,CAA0B,OAA1B,KAAsC4rB,SAAS,KAAK,QAAxD,EAAkE;EAChE,WAAK9rB,OAAL,CAAamN,YAAb,CACE,qBADF,EAEE,KAAKnN,OAAL,CAAaE,YAAb,CAA0B,OAA1B,KAAsC,EAFxC;EAKA,WAAKF,OAAL,CAAamN,YAAb,CAA0B,OAA1B,EAAmC,EAAnC;EACD;EACF;;WAED2c,SAAA,gBAAOxiB,KAAP,EAAcmX,OAAd,EAAuB;EACrB,QAAMiL,OAAO,GAAG,KAAK9L,WAAL,CAAiB9S,QAAjC;EACA2T,IAAAA,OAAO,GAAGA,OAAO,IAAI7Z,IAAI,CAACG,OAAL,CAAauC,KAAK,CAACC,cAAnB,EAAmCmiB,OAAnC,CAArB;;EAEA,QAAI,CAACjL,OAAL,EAAc;EACZA,MAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACRtW,KAAK,CAACC,cADE,EAER,KAAKoiB,kBAAL,EAFQ,CAAV;EAIA/kB,MAAAA,IAAI,CAACC,OAAL,CAAayC,KAAK,CAACC,cAAnB,EAAmCmiB,OAAnC,EAA4CjL,OAA5C;EACD;;EAED,QAAInX,KAAJ,EAAW;EACTmX,MAAAA,OAAO,CAAC2K,cAAR,CACE9hB,KAAK,CAACK,IAAN,KAAe,SAAf,GAA2BkhB,aAA3B,GAA2CD,aAD7C,IAEI,IAFJ;EAGD;;EAED,QAAInK,OAAO,CAACuL,aAAR,GAAwB9d,SAAxB,CAAkCE,QAAlC,CAA2C2L,iBAA3C,KACA0G,OAAO,CAAC0K,WAAR,KAAwBV,gBAD5B,EAC8C;EAC5ChK,MAAAA,OAAO,CAAC0K,WAAR,GAAsBV,gBAAtB;EACA;EACD;;EAEDrT,IAAAA,YAAY,CAACqJ,OAAO,CAACyK,QAAT,CAAZ;EAEAzK,IAAAA,OAAO,CAAC0K,WAAR,GAAsBV,gBAAtB;;EAEA,QAAI,CAAChK,OAAO,CAACxc,MAAR,CAAemlB,KAAhB,IAAyB,CAAC3I,OAAO,CAACxc,MAAR,CAAemlB,KAAf,CAAqBlO,IAAnD,EAAyD;EACvDuF,MAAAA,OAAO,CAACvF,IAAR;EACA;EACD;;EAEDuF,IAAAA,OAAO,CAACyK,QAAR,GAAmBpnB,UAAU,CAAC,YAAM;EAClC,UAAI2c,OAAO,CAAC0K,WAAR,KAAwBV,gBAA5B,EAA8C;EAC5ChK,QAAAA,OAAO,CAACvF,IAAR;EACD;EACF,KAJ4B,EAI1BuF,OAAO,CAACxc,MAAR,CAAemlB,KAAf,CAAqBlO,IAJK,CAA7B;EAKD;;WAED6Q,SAAA,gBAAOziB,KAAP,EAAcmX,OAAd,EAAuB;EACrB,QAAMiL,OAAO,GAAG,KAAK9L,WAAL,CAAiB9S,QAAjC;EACA2T,IAAAA,OAAO,GAAGA,OAAO,IAAI7Z,IAAI,CAACG,OAAL,CAAauC,KAAK,CAACC,cAAnB,EAAmCmiB,OAAnC,CAArB;;EAEA,QAAI,CAACjL,OAAL,EAAc;EACZA,MAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACRtW,KAAK,CAACC,cADE,EAER,KAAKoiB,kBAAL,EAFQ,CAAV;EAIA/kB,MAAAA,IAAI,CAACC,OAAL,CAAayC,KAAK,CAACC,cAAnB,EAAmCmiB,OAAnC,EAA4CjL,OAA5C;EACD;;EAED,QAAInX,KAAJ,EAAW;EACTmX,MAAAA,OAAO,CAAC2K,cAAR,CACE9hB,KAAK,CAACK,IAAN,KAAe,UAAf,GAA4BkhB,aAA5B,GAA4CD,aAD9C,IAEI,KAFJ;EAGD;;EAED,QAAInK,OAAO,CAACoL,oBAAR,EAAJ,EAAoC;EAClC;EACD;;EAEDzU,IAAAA,YAAY,CAACqJ,OAAO,CAACyK,QAAT,CAAZ;EAEAzK,IAAAA,OAAO,CAAC0K,WAAR,GAAsBT,eAAtB;;EAEA,QAAI,CAACjK,OAAO,CAACxc,MAAR,CAAemlB,KAAhB,IAAyB,CAAC3I,OAAO,CAACxc,MAAR,CAAemlB,KAAf,CAAqBnO,IAAnD,EAAyD;EACvDwF,MAAAA,OAAO,CAACxF,IAAR;EACA;EACD;;EAEDwF,IAAAA,OAAO,CAACyK,QAAR,GAAmBpnB,UAAU,CAAC,YAAM;EAClC,UAAI2c,OAAO,CAAC0K,WAAR,KAAwBT,eAA5B,EAA6C;EAC3CjK,QAAAA,OAAO,CAACxF,IAAR;EACD;EACF,KAJ4B,EAI1BwF,OAAO,CAACxc,MAAR,CAAemlB,KAAf,CAAqBnO,IAJK,CAA7B;EAKD;;WAED4Q,uBAAA,gCAAuB;EACrB,SAAK,IAAM7f,OAAX,IAAsB,KAAKof,cAA3B,EAA2C;EACzC,UAAI,KAAKA,cAAL,CAAoBpf,OAApB,CAAJ,EAAkC;EAChC,eAAO,IAAP;EACD;EACF;;EAED,WAAO,KAAP;EACD;;WAEDoJ,aAAA,oBAAWnR,MAAX,EAAmB;EACjB,QAAM8pB,cAAc,GAAGre,WAAW,CAACG,iBAAZ,CAA8B,KAAK7N,OAAnC,CAAvB;EAEAmC,IAAAA,MAAM,CAACC,IAAP,CAAY2pB,cAAZ,EAA4B1pB,OAA5B,CAAoC,UAAA2pB,QAAQ,EAAI;EAC9C,UAAIhF,qBAAqB,CAACje,OAAtB,CAA8BijB,QAA9B,MAA4C,CAAC,CAAjD,EAAoD;EAClD,eAAOD,cAAc,CAACC,QAAD,CAArB;EACD;EACF,KAJD;;EAMA,QAAI/pB,MAAM,IAAI,OAAOA,MAAM,CAACoX,SAAd,KAA4B,QAAtC,IAAkDpX,MAAM,CAACoX,SAAP,CAAiBa,MAAvE,EAA+E;EAC7EjY,MAAAA,MAAM,CAACoX,SAAP,GAAmBpX,MAAM,CAACoX,SAAP,CAAiB,CAAjB,CAAnB;EACD;;EAEDpX,IAAAA,MAAM,gBACD,KAAK2b,WAAL,CAAiB5N,OADhB,EAED+b,cAFC,EAGA,OAAO9pB,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHhD,CAAN;;EAMA,QAAI,OAAOA,MAAM,CAACmlB,KAAd,KAAwB,QAA5B,EAAsC;EACpCnlB,MAAAA,MAAM,CAACmlB,KAAP,GAAe;EACblO,QAAAA,IAAI,EAAEjX,MAAM,CAACmlB,KADA;EAEbnO,QAAAA,IAAI,EAAEhX,MAAM,CAACmlB;EAFA,OAAf;EAID;;EAED,QAAI,OAAOnlB,MAAM,CAACklB,KAAd,KAAwB,QAA5B,EAAsC;EACpCllB,MAAAA,MAAM,CAACklB,KAAP,GAAellB,MAAM,CAACklB,KAAP,CAAa/nB,QAAb,EAAf;EACD;;EAED,QAAI,OAAO6C,MAAM,CAACgpB,OAAd,KAA0B,QAA9B,EAAwC;EACtChpB,MAAAA,MAAM,CAACgpB,OAAP,GAAiBhpB,MAAM,CAACgpB,OAAP,CAAe7rB,QAAf,EAAjB;EACD;;EAED2C,IAAAA,eAAe,CAAC6I,MAAD,EAAO3I,MAAP,EAAe,KAAK2b,WAAL,CAAiBrN,WAAhC,CAAf;;EAEA,QAAItO,MAAM,CAACslB,QAAX,EAAqB;EACnBtlB,MAAAA,MAAM,CAACilB,QAAP,GAAkBnB,YAAY,CAAC9jB,MAAM,CAACilB,QAAR,EAAkBjlB,MAAM,CAACgkB,SAAzB,EAAoChkB,MAAM,CAACikB,UAA3C,CAA9B;EACD;;EAED,WAAOjkB,MAAP;EACD;;WAED0nB,qBAAA,8BAAqB;EACnB,QAAM1nB,MAAM,GAAG,EAAf;;EAEA,QAAI,KAAKA,MAAT,EAAiB;EACf,WAAK,IAAMqC,GAAX,IAAkB,KAAKrC,MAAvB,EAA+B;EAC7B,YAAI,KAAK2b,WAAL,CAAiB5N,OAAjB,CAAyB1L,GAAzB,MAAkC,KAAKrC,MAAL,CAAYqC,GAAZ,CAAtC,EAAwD;EACtDrC,UAAAA,MAAM,CAACqC,GAAD,CAAN,GAAc,KAAKrC,MAAL,CAAYqC,GAAZ,CAAd;EACD;EACF;EACF;;EAED,WAAOrC,MAAP;EACD;;WAED6oB,iBAAA,0BAAiB;EACf,QAAMzB,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,QAAMiC,QAAQ,GAAG5C,GAAG,CAACnpB,YAAJ,CAAiB,OAAjB,EAA0BZ,KAA1B,CAAgCynB,kBAAhC,CAAjB;;EACA,QAAIkF,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAAChkB,MAAT,GAAkB,CAA3C,EAA8C;EAC5CgkB,MAAAA,QAAQ,CAACC,GAAT,CAAa,UAAAC,KAAK;EAAA,eAAIA,KAAK,CAAC/rB,IAAN,EAAJ;EAAA,OAAlB,EACGiC,OADH,CACW,UAAA+pB,MAAM;EAAA,eAAI/C,GAAG,CAACnd,SAAJ,CAAcC,MAAd,CAAqBigB,MAArB,CAAJ;EAAA,OADjB;EAED;EACF;;WAEDZ,+BAAA,sCAA6Ba,UAA7B,EAAyC;EACvC,SAAKhD,GAAL,GAAWgD,UAAU,CAACvnB,QAAX,CAAoBwnB,MAA/B;;EACA,SAAKxB,cAAL;;EACA,SAAKJ,mBAAL,CAAyB,KAAKD,cAAL,CAAoB4B,UAAU,CAACtO,SAA/B,CAAzB;EACD;;WAED6M,iBAAA,0BAAiB;EACf,QAAMvB,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,QAAMuC,mBAAmB,GAAG,KAAKtqB,MAAL,CAAYglB,SAAxC;;EACA,QAAIoC,GAAG,CAACnpB,YAAJ,CAAiB,aAAjB,MAAoC,IAAxC,EAA8C;EAC5C;EACD;;EAEDmpB,IAAAA,GAAG,CAACnd,SAAJ,CAAcC,MAAd,CAAqBsT,iBAArB;EACA,SAAKxd,MAAL,CAAYglB,SAAZ,GAAwB,KAAxB;EACA,SAAKhO,IAAL;EACA,SAAKC,IAAL;EACA,SAAKjX,MAAL,CAAYglB,SAAZ,GAAwBsF,mBAAxB;EACD;;;YAIMhgB,kBAAP,yBAAuBtK,MAAvB,EAA+B;EAC7B,WAAO,KAAKuK,IAAL,CAAU,YAAY;EAC3B,UAAIjI,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB+F,UAAnB,CAAX;;EACA,UAAMqI,OAAO,GAAG,OAAOlR,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;EAEA,UAAI,CAACsC,IAAD,IAAS,eAAe5B,IAAf,CAAoBV,MAApB,CAAb,EAA0C;EACxC;EACD;;EAED,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIykB,OAAJ,CAAY,IAAZ,EAAkB7V,OAAlB,CAAP;EACD;;EAED,UAAI,OAAOlR,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF,KAnBM,CAAP;EAoBD;;YAEM0K,cAAP,qBAAmB3M,OAAnB,EAA4B;EAC1B,WAAO4E,IAAI,CAACG,OAAL,CAAa/E,OAAb,EAAsB8K,UAAtB,CAAP;EACD;;;;0BAroBoB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOmF,SAAP;EACD;;;0BAEiB;EAChB,aAAOpF,MAAP;EACD;;;0BAEqB;EACpB,aAAOE,UAAP;EACD;;;0BAEkB;EACjB,aAAO3J,OAAP;EACD;;;0BAEsB;EACrB,aAAO4J,WAAP;EACD;;;0BAEwB;EACvB,aAAOwF,aAAP;EACD;;;;;;EA8mBH,IAAMjK,GAAC,GAAGxC,SAAS,EAAnB;EAEA;EACA;EACA;EACA;EACA;EACA;;EACA;;EACA,IAAIwC,GAAJ,EAAO;EACL,MAAMsG,oBAAkB,GAAGtG,GAAC,CAACc,EAAF,CAAKwD,MAAL,CAA3B;EACAtE,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAaoe,OAAO,CAACzc,eAArB;EACAjG,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWiC,WAAX,GAAyBmc,OAAzB;;EACA1iB,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5BxG,IAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAagC,oBAAb;EACA,WAAOoc,OAAO,CAACzc,eAAf;EACD,GAHD;EAID;;EChyBD;EACA;EACA;EACA;EACA;;EAEA,IAAM3B,MAAI,GAAG,SAAb;EACA,IAAMC,SAAO,GAAG,cAAhB;EACA,IAAMC,UAAQ,GAAG,YAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAMgc,cAAY,GAAG,YAArB;EACA,IAAMC,oBAAkB,GAAG,IAAIrkB,MAAJ,aAAqBokB,cAArB,WAAyC,GAAzC,CAA3B;;EAEA,IAAM9W,SAAO,gBACRgZ,OAAO,CAAChZ,OADA;EAEX+N,EAAAA,SAAS,EAAE,OAFA;EAGX/T,EAAAA,OAAO,EAAE,OAHE;EAIXihB,EAAAA,OAAO,EAAE,EAJE;EAKX/D,EAAAA,QAAQ,EAAE,yCACE,mCADF,GAEE,kCAFF,GAGE;EARD,EAAb;;EAWA,IAAM3W,aAAW,gBACZyY,OAAO,CAACzY,WADI;EAEf0a,EAAAA,OAAO,EAAE;EAFM,EAAjB;;EAKA,IAAM9pB,OAAK,GAAG;EACZ2mB,EAAAA,IAAI,WAAS/c,WADD;EAEZgd,EAAAA,MAAM,aAAWhd,WAFL;EAGZid,EAAAA,IAAI,WAASjd,WAHD;EAIZkd,EAAAA,KAAK,YAAUld,WAJH;EAKZmd,EAAAA,QAAQ,eAAand,WALT;EAMZod,EAAAA,KAAK,YAAUpd,WANH;EAOZqd,EAAAA,OAAO,cAAYrd,WAPP;EAQZsd,EAAAA,QAAQ,eAAatd,WART;EASZud,EAAAA,UAAU,iBAAevd,WATb;EAUZwd,EAAAA,UAAU,iBAAexd;EAVb,CAAd;EAaA,IAAM0U,iBAAe,GAAG,MAAxB;EACA,IAAM1H,iBAAe,GAAG,MAAxB;EAEA,IAAMyU,cAAc,GAAG,iBAAvB;EACA,IAAMC,gBAAgB,GAAG,eAAzB;EAEA;EACA;EACA;EACA;EACA;;MAEMC;;;;;;;;;EA+BJ;WAEAxC,gBAAA,yBAAgB;EACd,WAAO,KAAKa,QAAL,MAAmB,KAAK4B,WAAL,EAA1B;EACD;;WAEDpC,aAAA,sBAAa;EACX,QAAMlB,GAAG,GAAG,KAAKW,aAAL,EAAZ,CADW;;EAIX,SAAKgB,iBAAL,CAAuBpc,cAAc,CAACvJ,OAAf,CAAuBmnB,cAAvB,EAAuCnD,GAAvC,CAAvB,EAAoE,KAAK0B,QAAL,EAApE;;EACA,QAAIE,OAAO,GAAG,KAAK0B,WAAL,EAAd;;EACA,QAAI,OAAO1B,OAAP,KAAmB,UAAvB,EAAmC;EACjCA,MAAAA,OAAO,GAAGA,OAAO,CAAC5rB,IAAR,CAAa,KAAKW,OAAlB,CAAV;EACD;;EAED,SAAKgrB,iBAAL,CAAuBpc,cAAc,CAACvJ,OAAf,CAAuBonB,gBAAvB,EAAyCpD,GAAzC,CAAvB,EAAsE4B,OAAtE;EAEA5B,IAAAA,GAAG,CAACnd,SAAJ,CAAcC,MAAd,CAAqBsT,iBAArB,EAAsC1H,iBAAtC;EACD;;;WAID2S,sBAAA,6BAAoBF,UAApB,EAAgC;EAC9B,SAAKR,aAAL,GAAqB9d,SAArB,CAA+BoJ,GAA/B,CAAsCwR,cAAtC,SAAsD0D,UAAtD;EACD;;WAEDmC,cAAA,uBAAc;EACZ,WAAO,KAAK3sB,OAAL,CAAaE,YAAb,CAA0B,cAA1B,KACL,KAAK+B,MAAL,CAAYgpB,OADd;EAED;;WAEDH,iBAAA,0BAAiB;EACf,QAAMzB,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,QAAMiC,QAAQ,GAAG5C,GAAG,CAACnpB,YAAJ,CAAiB,OAAjB,EAA0BZ,KAA1B,CAAgCynB,oBAAhC,CAAjB;;EACA,QAAIkF,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAAChkB,MAAT,GAAkB,CAA3C,EAA8C;EAC5CgkB,MAAAA,QAAQ,CAACC,GAAT,CAAa,UAAAC,KAAK;EAAA,eAAIA,KAAK,CAAC/rB,IAAN,EAAJ;EAAA,OAAlB,EACGiC,OADH,CACW,UAAA+pB,MAAM;EAAA,eAAI/C,GAAG,CAACnd,SAAJ,CAAcC,MAAd,CAAqBigB,MAArB,CAAJ;EAAA,OADjB;EAED;EACF;;;YAIM7f,kBAAP,yBAAuBtK,MAAvB,EAA+B;EAC7B,WAAO,KAAKuK,IAAL,CAAU,YAAY;EAC3B,UAAIjI,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB+F,UAAnB,CAAX;;EACA,UAAMqI,OAAO,GAAG,OAAOlR,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;EAEA,UAAI,CAACsC,IAAD,IAAS,eAAe5B,IAAf,CAAoBV,MAApB,CAAb,EAA0C;EACxC;EACD;;EAED,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAImoB,OAAJ,CAAY,IAAZ,EAAkBvZ,OAAlB,CAAP;EACAvO,QAAAA,IAAI,CAACC,OAAL,CAAa,IAAb,EAAmBiG,UAAnB,EAA6BvG,IAA7B;EACD;;EAED,UAAI,OAAOtC,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF,KApBM,CAAP;EAqBD;;YAEM0K,cAAP,qBAAmB3M,OAAnB,EAA4B;EAC1B,WAAO4E,IAAI,CAACG,OAAL,CAAa/E,OAAb,EAAsB8K,UAAtB,CAAP;EACD;;;;EAnGD;0BAEqB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOmF,SAAP;EACD;;;0BAEiB;EAChB,aAAOpF,MAAP;EACD;;;0BAEqB;EACpB,aAAOE,UAAP;EACD;;;0BAEkB;EACjB,aAAO3J,OAAP;EACD;;;0BAEsB;EACrB,aAAO4J,WAAP;EACD;;;0BAEwB;EACvB,aAAOwF,aAAP;EACD;;;;IA7BmByY;;EAuGtB,IAAM1iB,GAAC,GAAGxC,SAAS,EAAnB;EAEA;EACA;EACA;EACA;EACA;;EACA;;EACA,IAAIwC,GAAJ,EAAO;EACL,MAAMsG,oBAAkB,GAAGtG,GAAC,CAACc,EAAF,CAAKwD,MAAL,CAA3B;EACAtE,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAa8hB,OAAO,CAACngB,eAArB;EACAjG,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWiC,WAAX,GAAyB6f,OAAzB;;EACApmB,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5BxG,IAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAagC,oBAAb;EACA,WAAO8f,OAAO,CAACngB,eAAf;EACD,GAHD;EAID;;ECtKD;EACA;EACA;EACA;EACA;;EAEA,IAAM3B,MAAI,GAAG,WAAb;EACA,IAAMC,SAAO,GAAG,cAAhB;EACA,IAAMC,UAAQ,GAAG,cAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EAEA,IAAMgF,SAAO,GAAG;EACd/B,EAAAA,MAAM,EAAE,EADM;EAEd2e,EAAAA,MAAM,EAAE,MAFM;EAGd7kB,EAAAA,MAAM,EAAE;EAHM,CAAhB;EAMA,IAAMwI,aAAW,GAAG;EAClBtC,EAAAA,MAAM,EAAE,QADU;EAElB2e,EAAAA,MAAM,EAAE,QAFU;EAGlB7kB,EAAAA,MAAM,EAAE;EAHU,CAApB;EAMA,IAAM8kB,cAAc,gBAAc9hB,WAAlC;EACA,IAAM+hB,YAAY,cAAY/hB,WAA9B;EACA,IAAMwG,qBAAmB,YAAUxG,WAAV,GAAsBC,cAA/C;EAEA,IAAM+hB,wBAAwB,GAAG,eAAjC;EACA,IAAMhgB,mBAAiB,GAAG,QAA1B;EAEA,IAAMigB,iBAAiB,GAAG,qBAA1B;EACA,IAAMC,uBAAuB,GAAG,mBAAhC;EACA,IAAMC,kBAAkB,GAAG,WAA3B;EACA,IAAMC,kBAAkB,GAAG,WAA3B;EACA,IAAMC,mBAAmB,GAAG,kBAA5B;EACA,IAAMC,iBAAiB,GAAG,WAA1B;EACA,IAAMC,wBAAwB,GAAG,kBAAjC;EAEA,IAAMC,aAAa,GAAG,QAAtB;EACA,IAAMC,eAAe,GAAG,UAAxB;EAEA;EACA;EACA;EACA;EACA;;MAEMC;EACJ,qBAAYztB,OAAZ,EAAqBiC,MAArB,EAA6B;EAAA;;EAC3B,SAAKwJ,QAAL,GAAgBzL,OAAhB;EACA,SAAK0tB,cAAL,GAAsB1tB,OAAO,CAACuV,OAAR,KAAoB,MAApB,GAA6B9U,MAA7B,GAAsCT,OAA5D;EACA,SAAKmT,OAAL,GAAe,KAAKC,UAAL,CAAgBnR,MAAhB,CAAf;EACA,SAAK4W,SAAL,GAAoB,KAAK1F,OAAL,CAAapL,MAAjC,SAA2CmlB,kBAA3C,UAAkE,KAAK/Z,OAAL,CAAapL,MAA/E,SAAyFqlB,mBAAzF,UAAiH,KAAKja,OAAL,CAAapL,MAA9H,UAAyIglB,wBAAzI;EACA,SAAKY,QAAL,GAAgB,EAAhB;EACA,SAAKC,QAAL,GAAgB,EAAhB;EACA,SAAKC,aAAL,GAAqB,IAArB;EACA,SAAKC,aAAL,GAAqB,CAArB;EAEArmB,IAAAA,YAAY,CAAC+B,EAAb,CAAgB,KAAKkkB,cAArB,EAAqCZ,YAArC,EAAmD,UAAAxlB,KAAK;EAAA,aAAI,KAAI,CAACymB,QAAL,CAAczmB,KAAd,CAAJ;EAAA,KAAxD;EAEA,SAAK0mB,OAAL;;EACA,SAAKD,QAAL;;EAEAnpB,IAAAA,IAAI,CAACC,OAAL,CAAa7E,OAAb,EAAsB8K,UAAtB,EAAgC,IAAhC;EACD;;;;;EAYD;WAEAkjB,UAAA,mBAAU;EAAA;;EACR,QAAMC,UAAU,GAAG,KAAKP,cAAL,KAAwB,KAAKA,cAAL,CAAoBjtB,MAA5C,GACjB8sB,aADiB,GAEjBC,eAFF;EAIA,QAAMU,YAAY,GAAG,KAAK/a,OAAL,CAAayZ,MAAb,KAAwB,MAAxB,GACnBqB,UADmB,GAEnB,KAAK9a,OAAL,CAAayZ,MAFf;EAIA,QAAMuB,UAAU,GAAGD,YAAY,KAAKV,eAAjB,GACjB,KAAKY,aAAL,EADiB,GAEjB,CAFF;EAIA,SAAKT,QAAL,GAAgB,EAAhB;EACA,SAAKC,QAAL,GAAgB,EAAhB;EACA,SAAKE,aAAL,GAAqB,KAAKO,gBAAL,EAArB;EAEA,QAAMC,OAAO,GAAG1f,cAAc,CAAC3J,IAAf,CAAoB,KAAK4T,SAAzB,CAAhB;EAEAyV,IAAAA,OAAO,CAACpC,GAAR,CAAY,UAAAlsB,OAAO,EAAI;EACrB,UAAMuuB,cAAc,GAAGluB,sBAAsB,CAACL,OAAD,CAA7C;EACA,UAAM+H,MAAM,GAAGwmB,cAAc,GAAG3f,cAAc,CAACvJ,OAAf,CAAuBkpB,cAAvB,CAAH,GAA4C,IAAzE;;EAEA,UAAIxmB,MAAJ,EAAY;EACV,YAAMymB,SAAS,GAAGzmB,MAAM,CAACoG,qBAAP,EAAlB;;EACA,YAAIqgB,SAAS,CAACpL,KAAV,IAAmBoL,SAAS,CAACC,MAAjC,EAAyC;EACvC,iBAAO,CACL/gB,WAAW,CAACwgB,YAAD,CAAX,CAA0BnmB,MAA1B,EAAkCqG,GAAlC,GAAwC+f,UADnC,EAELI,cAFK,CAAP;EAID;EACF;;EAED,aAAO,IAAP;EACD,KAfD,EAgBGvf,MAhBH,CAgBU,UAAA0f,IAAI;EAAA,aAAIA,IAAJ;EAAA,KAhBd,EAiBGC,IAjBH,CAiBQ,UAACxK,CAAD,EAAIE,CAAJ;EAAA,aAAUF,CAAC,CAAC,CAAD,CAAD,GAAOE,CAAC,CAAC,CAAD,CAAlB;EAAA,KAjBR,EAkBGhiB,OAlBH,CAkBW,UAAAqsB,IAAI,EAAI;EACf,MAAA,MAAI,CAACf,QAAL,CAAcre,IAAd,CAAmBof,IAAI,CAAC,CAAD,CAAvB;;EACA,MAAA,MAAI,CAACd,QAAL,CAActe,IAAd,CAAmBof,IAAI,CAAC,CAAD,CAAvB;EACD,KArBH;EAsBD;;WAED1iB,UAAA,mBAAU;EACRpH,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKyG,QAArB,EAA+BX,UAA/B;EACArD,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKgmB,cAAtB,EAAsC3iB,WAAtC;EAEA,SAAKU,QAAL,GAAgB,IAAhB;EACA,SAAKiiB,cAAL,GAAsB,IAAtB;EACA,SAAKva,OAAL,GAAe,IAAf;EACA,SAAK0F,SAAL,GAAiB,IAAjB;EACA,SAAK8U,QAAL,GAAgB,IAAhB;EACA,SAAKC,QAAL,GAAgB,IAAhB;EACA,SAAKC,aAAL,GAAqB,IAArB;EACA,SAAKC,aAAL,GAAqB,IAArB;EACD;;;WAID1a,aAAA,oBAAWnR,MAAX,EAAmB;EACjBA,IAAAA,MAAM,gBACD+N,SADC,EAEA,OAAO/N,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAFhD,CAAN;;EAKA,QAAI,OAAOA,MAAM,CAAC8F,MAAd,KAAyB,QAAzB,IAAqC3G,SAAS,CAACa,MAAM,CAAC8F,MAAR,CAAlD,EAAmE;EAAA,UAC3D3D,EAD2D,GACpDnC,MAAM,CAAC8F,MAD6C,CAC3D3D,EAD2D;;EAEjE,UAAI,CAACA,EAAL,EAAS;EACPA,QAAAA,EAAE,GAAG5E,MAAM,CAACoL,MAAD,CAAX;EACA3I,QAAAA,MAAM,CAAC8F,MAAP,CAAc3D,EAAd,GAAmBA,EAAnB;EACD;;EAEDnC,MAAAA,MAAM,CAAC8F,MAAP,SAAoB3D,EAApB;EACD;;EAEDrC,IAAAA,eAAe,CAAC6I,MAAD,EAAO3I,MAAP,EAAesO,aAAf,CAAf;EAEA,WAAOtO,MAAP;EACD;;WAEDmsB,gBAAA,yBAAgB;EACd,WAAO,KAAKV,cAAL,KAAwBjtB,MAAxB,GACL,KAAKitB,cAAL,CAAoBkB,WADf,GAEL,KAAKlB,cAAL,CAAoBrf,SAFtB;EAGD;;WAEDggB,mBAAA,4BAAmB;EACjB,WAAO,KAAKX,cAAL,CAAoBzL,YAApB,IAAoCviB,IAAI,CAACmvB,GAAL,CACzChvB,QAAQ,CAACmE,IAAT,CAAcie,YAD2B,EAEzCpiB,QAAQ,CAACyD,eAAT,CAAyB2e,YAFgB,CAA3C;EAID;;WAED6M,mBAAA,4BAAmB;EACjB,WAAO,KAAKpB,cAAL,KAAwBjtB,MAAxB,GACLA,MAAM,CAACsuB,WADF,GAEL,KAAKrB,cAAL,CAAoBvf,qBAApB,GAA4CsgB,MAF9C;EAGD;;WAEDV,WAAA,oBAAW;EACT,QAAM1f,SAAS,GAAG,KAAK+f,aAAL,KAAuB,KAAKjb,OAAL,CAAalF,MAAtD;;EACA,QAAMgU,YAAY,GAAG,KAAKoM,gBAAL,EAArB;;EACA,QAAMW,SAAS,GAAG,KAAK7b,OAAL,CAAalF,MAAb,GAChBgU,YADgB,GAEhB,KAAK6M,gBAAL,EAFF;;EAIA,QAAI,KAAKhB,aAAL,KAAuB7L,YAA3B,EAAyC;EACvC,WAAK+L,OAAL;EACD;;EAED,QAAI3f,SAAS,IAAI2gB,SAAjB,EAA4B;EAC1B,UAAMjnB,MAAM,GAAG,KAAK6lB,QAAL,CAAc,KAAKA,QAAL,CAAc3lB,MAAd,GAAuB,CAArC,CAAf;;EAEA,UAAI,KAAK4lB,aAAL,KAAuB9lB,MAA3B,EAAmC;EACjC,aAAKknB,SAAL,CAAelnB,MAAf;EACD;;EAED;EACD;;EAED,QAAI,KAAK8lB,aAAL,IAAsBxf,SAAS,GAAG,KAAKsf,QAAL,CAAc,CAAd,CAAlC,IAAsD,KAAKA,QAAL,CAAc,CAAd,IAAmB,CAA7E,EAAgF;EAC9E,WAAKE,aAAL,GAAqB,IAArB;;EACA,WAAKqB,MAAL;;EACA;EACD;;EAED,SAAK,IAAIlnB,CAAC,GAAG,KAAK2lB,QAAL,CAAc1lB,MAA3B,EAAmCD,CAAC,EAApC,GAAyC;EACvC,UAAMmnB,cAAc,GAAG,KAAKtB,aAAL,KAAuB,KAAKD,QAAL,CAAc5lB,CAAd,CAAvB,IACnBqG,SAAS,IAAI,KAAKsf,QAAL,CAAc3lB,CAAd,CADM,KAElB,OAAO,KAAK2lB,QAAL,CAAc3lB,CAAC,GAAG,CAAlB,CAAP,KAAgC,WAAhC,IACGqG,SAAS,GAAG,KAAKsf,QAAL,CAAc3lB,CAAC,GAAG,CAAlB,CAHG,CAAvB;;EAKA,UAAImnB,cAAJ,EAAoB;EAClB,aAAKF,SAAL,CAAe,KAAKrB,QAAL,CAAc5lB,CAAd,CAAf;EACD;EACF;EACF;;WAEDinB,YAAA,mBAAUlnB,MAAV,EAAkB;EAChB,SAAK8lB,aAAL,GAAqB9lB,MAArB;;EAEA,SAAKmnB,MAAL;;EAEA,QAAME,OAAO,GAAG,KAAKvW,SAAL,CAAe7X,KAAf,CAAqB,GAArB,EACbkrB,GADa,CACT,UAAAjsB,QAAQ;EAAA,aAAOA,QAAP,uBAAgC8H,MAAhC,YAA4C9H,QAA5C,gBAA8D8H,MAA9D;EAAA,KADC,CAAhB;;EAGA,QAAMsnB,IAAI,GAAGzgB,cAAc,CAACvJ,OAAf,CAAuB+pB,OAAO,CAACE,IAAR,CAAa,GAAb,CAAvB,CAAb;;EAEA,QAAID,IAAI,CAACnjB,SAAL,CAAeE,QAAf,CAAwB2gB,wBAAxB,CAAJ,EAAuD;EACrDne,MAAAA,cAAc,CAACvJ,OAAf,CAAuBioB,wBAAvB,EAAiD+B,IAAI,CAACpjB,OAAL,CAAaohB,iBAAb,CAAjD,EACGnhB,SADH,CACaoJ,GADb,CACiBvI,mBADjB;EAGAsiB,MAAAA,IAAI,CAACnjB,SAAL,CAAeoJ,GAAf,CAAmBvI,mBAAnB;EACD,KALD,MAKO;EACL;EACAsiB,MAAAA,IAAI,CAACnjB,SAAL,CAAeoJ,GAAf,CAAmBvI,mBAAnB;EAEA6B,MAAAA,cAAc,CAACM,OAAf,CAAuBmgB,IAAvB,EAA6BpC,uBAA7B,EACG5qB,OADH,CACW,UAAAktB,SAAS,EAAI;EACpB;EACA;EACA3gB,QAAAA,cAAc,CAACW,IAAf,CAAoBggB,SAApB,EAAkCrC,kBAAlC,UAAyDE,mBAAzD,EACG/qB,OADH,CACW,UAAAqsB,IAAI;EAAA,iBAAIA,IAAI,CAACxiB,SAAL,CAAeoJ,GAAf,CAAmBvI,mBAAnB,CAAJ;EAAA,SADf,EAHoB;;EAOpB6B,QAAAA,cAAc,CAACW,IAAf,CAAoBggB,SAApB,EAA+BpC,kBAA/B,EACG9qB,OADH,CACW,UAAAmtB,OAAO,EAAI;EAClB5gB,UAAAA,cAAc,CAACG,QAAf,CAAwBygB,OAAxB,EAAiCtC,kBAAjC,EACG7qB,OADH,CACW,UAAAqsB,IAAI;EAAA,mBAAIA,IAAI,CAACxiB,SAAL,CAAeoJ,GAAf,CAAmBvI,mBAAnB,CAAJ;EAAA,WADf;EAED,SAJH;EAKD,OAbH;EAcD;;EAEDtF,IAAAA,YAAY,CAACuC,OAAb,CAAqB,KAAK0jB,cAA1B,EAA0Cb,cAA1C,EAA0D;EACxD5W,MAAAA,aAAa,EAAElO;EADyC,KAA1D;EAGD;;WAEDmnB,SAAA,kBAAS;EACPtgB,IAAAA,cAAc,CAAC3J,IAAf,CAAoB,KAAK4T,SAAzB,EACG7J,MADH,CACU,UAAAygB,IAAI;EAAA,aAAIA,IAAI,CAACvjB,SAAL,CAAeE,QAAf,CAAwBW,mBAAxB,CAAJ;EAAA,KADd,EAEG1K,OAFH,CAEW,UAAAotB,IAAI;EAAA,aAAIA,IAAI,CAACvjB,SAAL,CAAeC,MAAf,CAAsBY,mBAAtB,CAAJ;EAAA,KAFf;EAGD;;;cAIMR,kBAAP,yBAAuBtK,MAAvB,EAA+B;EAC7B,WAAO,KAAKuK,IAAL,CAAU,YAAY;EAC3B,UAAIjI,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB+F,UAAnB,CAAX;;EACA,UAAMqI,OAAO,GAAG,OAAOlR,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;EAEA,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIkpB,SAAJ,CAAc,IAAd,EAAoBta,OAApB,CAAP;EACD;;EAED,UAAI,OAAOlR,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF,KAfM,CAAP;EAgBD;;cAEM0K,cAAP,qBAAmB3M,OAAnB,EAA4B;EAC1B,WAAO4E,IAAI,CAACG,OAAL,CAAa/E,OAAb,EAAsB8K,UAAtB,CAAP;EACD;;;;0BAzNoB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOmF,SAAP;EACD;;;;;EAsNH;EACA;EACA;EACA;EACA;;;EAEAvI,YAAY,CAAC+B,EAAb,CAAgB/I,MAAhB,EAAwB8Q,qBAAxB,EAA6C,YAAM;EACjD3C,EAAAA,cAAc,CAAC3J,IAAf,CAAoB+nB,iBAApB,EACG3qB,OADH,CACW,UAAAqtB,GAAG;EAAA,WAAI,IAAIjC,SAAJ,CAAciC,GAAd,EAAmBhiB,WAAW,CAACG,iBAAZ,CAA8B6hB,GAA9B,CAAnB,CAAJ;EAAA,GADd;EAED,CAHD;EAKA,IAAMppB,GAAC,GAAGxC,SAAS,EAAnB;EAEA;EACA;EACA;EACA;EACA;;EACA;;EACA,IAAIwC,GAAJ,EAAO;EACL,MAAMsG,oBAAkB,GAAGtG,GAAC,CAACc,EAAF,CAAKwD,MAAL,CAA3B;EACAtE,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAa6iB,SAAS,CAAClhB,eAAvB;EACAjG,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWiC,WAAX,GAAyB4gB,SAAzB;;EACAnnB,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5BxG,IAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAagC,oBAAb;EACA,WAAO6gB,SAAS,CAAClhB,eAAjB;EACD,GAHD;EAID;;EC5TD;EACA;EACA;EACA;EACA;;EAEA,IAAM3B,MAAI,GAAG,KAAb;EACA,IAAMC,SAAO,GAAG,cAAhB;EACA,IAAMC,UAAQ,GAAG,QAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EAEA,IAAM6M,YAAU,YAAU9M,WAA1B;EACA,IAAM+M,cAAY,cAAY/M,WAA9B;EACA,IAAM4M,YAAU,YAAU5M,WAA1B;EACA,IAAM6M,aAAW,aAAW7M,WAA5B;EACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;EAEA,IAAM2kB,wBAAwB,GAAG,eAAjC;EACA,IAAM5iB,mBAAiB,GAAG,QAA1B;EACA,IAAMoO,qBAAmB,GAAG,UAA5B;EACA,IAAMsE,iBAAe,GAAG,MAAxB;EACA,IAAM1H,iBAAe,GAAG,MAAxB;EAEA,IAAMsV,mBAAiB,GAAG,WAA1B;EACA,IAAMJ,yBAAuB,GAAG,mBAAhC;EACA,IAAMlb,iBAAe,GAAG,SAAxB;EACA,IAAM6d,kBAAkB,GAAG,uBAA3B;EACA,IAAM5iB,sBAAoB,GAAG,iEAA7B;EACA,IAAMsgB,0BAAwB,GAAG,kBAAjC;EACA,IAAMuC,8BAA8B,GAAG,iCAAvC;EAEA;EACA;EACA;EACA;EACA;;MAEMC;EACJ,eAAY9vB,OAAZ,EAAqB;EACnB,SAAKyL,QAAL,GAAgBzL,OAAhB;EAEA4E,IAAAA,IAAI,CAACC,OAAL,CAAa,KAAK4G,QAAlB,EAA4BX,UAA5B,EAAsC,IAAtC;EACD;;;;;EAQD;WAEAoO,OAAA,gBAAO;EAAA;;EACL,QAAK,KAAKzN,QAAL,CAAczI,UAAd,IACH,KAAKyI,QAAL,CAAczI,UAAd,CAAyB3B,QAAzB,KAAsC+N,IAAI,CAACC,YADxC,IAEH,KAAK5D,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCW,mBAAjC,CAFE,IAGF,KAAKtB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC+O,qBAAjC,CAHF,EAGyD;EACvD;EACD;;EAED,QAAI3L,QAAJ;EACA,QAAMzH,MAAM,GAAGxH,sBAAsB,CAAC,KAAKkL,QAAN,CAArC;;EACA,QAAMskB,WAAW,GAAG,KAAKtkB,QAAL,CAAcQ,OAAd,CAAsBghB,yBAAtB,CAApB;;EAEA,QAAI8C,WAAJ,EAAiB;EACf,UAAMC,YAAY,GAAGD,WAAW,CAACjM,QAAZ,KAAyB,IAAzB,IAAiCiM,WAAW,CAACjM,QAAZ,KAAyB,IAA1D,GAAiE8L,kBAAjE,GAAsF7d,iBAA3G;EACAvC,MAAAA,QAAQ,GAAGZ,cAAc,CAAC3J,IAAf,CAAoB+qB,YAApB,EAAkCD,WAAlC,CAAX;EACAvgB,MAAAA,QAAQ,GAAGA,QAAQ,CAACA,QAAQ,CAACvH,MAAT,GAAkB,CAAnB,CAAnB;EACD;;EAED,QAAIsV,SAAS,GAAG,IAAhB;;EAEA,QAAI/N,QAAJ,EAAc;EACZ+N,MAAAA,SAAS,GAAG9V,YAAY,CAACuC,OAAb,CAAqBwF,QAArB,EAA+BqI,YAA/B,EAA2C;EACrD5B,QAAAA,aAAa,EAAE,KAAKxK;EADiC,OAA3C,CAAZ;EAGD;;EAED,QAAMyR,SAAS,GAAGzV,YAAY,CAACuC,OAAb,CAAqB,KAAKyB,QAA1B,EAAoCkM,YAApC,EAAgD;EAChE1B,MAAAA,aAAa,EAAEzG;EADiD,KAAhD,CAAlB;;EAIA,QAAI0N,SAAS,CAACtX,gBAAV,IACD2X,SAAS,KAAK,IAAd,IAAsBA,SAAS,CAAC3X,gBADnC,EACsD;EACpD;EACD;;EAED,SAAKqpB,SAAL,CACE,KAAKxjB,QADP,EAEEskB,WAFF;;EAKA,QAAMlW,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrBpS,MAAAA,YAAY,CAACuC,OAAb,CAAqBwF,QAArB,EAA+BsI,cAA/B,EAA6C;EAC3C7B,QAAAA,aAAa,EAAE,KAAI,CAACxK;EADuB,OAA7C;EAGAhE,MAAAA,YAAY,CAACuC,OAAb,CAAqB,KAAI,CAACyB,QAA1B,EAAoCmM,aAApC,EAAiD;EAC/C3B,QAAAA,aAAa,EAAEzG;EADgC,OAAjD;EAGD,KAPD;;EASA,QAAIzH,MAAJ,EAAY;EACV,WAAKknB,SAAL,CAAelnB,MAAf,EAAuBA,MAAM,CAAC/E,UAA9B,EAA0C6W,QAA1C;EACD,KAFD,MAEO;EACLA,MAAAA,QAAQ;EACT;EACF;;WAED7N,UAAA,mBAAU;EACRpH,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKyG,QAArB,EAA+BX,UAA/B;EACA,SAAKW,QAAL,GAAgB,IAAhB;EACD;;;WAIDwjB,YAAA,mBAAUjvB,OAAV,EAAmBqZ,SAAnB,EAA8BqI,QAA9B,EAAwC;EAAA;;EACtC,QAAMuO,cAAc,GAAG5W,SAAS,KAAKA,SAAS,CAACyK,QAAV,KAAuB,IAAvB,IAA+BzK,SAAS,CAACyK,QAAV,KAAuB,IAA3D,CAAT,GACrBlV,cAAc,CAAC3J,IAAf,CAAoB2qB,kBAApB,EAAwCvW,SAAxC,CADqB,GAErBzK,cAAc,CAACG,QAAf,CAAwBsK,SAAxB,EAAmCtH,iBAAnC,CAFF;EAIA,QAAMme,MAAM,GAAGD,cAAc,CAAC,CAAD,CAA7B;EACA,QAAMhW,eAAe,GAAGyH,QAAQ,IAC7BwO,MAAM,IAAIA,MAAM,CAAChkB,SAAP,CAAiBE,QAAjB,CAA0BqT,iBAA1B,CADb;;EAGA,QAAM5F,QAAQ,GAAG,SAAXA,QAAW;EAAA,aAAM,MAAI,CAACsW,mBAAL,CACrBnwB,OADqB,EAErBkwB,MAFqB,EAGrBxO,QAHqB,CAAN;EAAA,KAAjB;;EAMA,QAAIwO,MAAM,IAAIjW,eAAd,EAA+B;EAC7B,UAAMtZ,kBAAkB,GAAGH,gCAAgC,CAAC0vB,MAAD,CAA3D;EACAA,MAAAA,MAAM,CAAChkB,SAAP,CAAiBC,MAAjB,CAAwB4L,iBAAxB;EAEAtQ,MAAAA,YAAY,CAACgC,GAAb,CAAiBymB,MAAjB,EAAyBlxB,cAAzB,EAAyC6a,QAAzC;EACAvY,MAAAA,oBAAoB,CAAC4uB,MAAD,EAASvvB,kBAAT,CAApB;EACD,KAND,MAMO;EACLkZ,MAAAA,QAAQ;EACT;EACF;;WAEDsW,sBAAA,6BAAoBnwB,OAApB,EAA6BkwB,MAA7B,EAAqCxO,QAArC,EAA+C;EAC7C,QAAIwO,MAAJ,EAAY;EACVA,MAAAA,MAAM,CAAChkB,SAAP,CAAiBC,MAAjB,CAAwBY,mBAAxB;EAEA,UAAMqjB,aAAa,GAAGxhB,cAAc,CAACvJ,OAAf,CAAuBwqB,8BAAvB,EAAuDK,MAAM,CAACltB,UAA9D,CAAtB;;EAEA,UAAIotB,aAAJ,EAAmB;EACjBA,QAAAA,aAAa,CAAClkB,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B;EACD;;EAED,UAAImjB,MAAM,CAAChwB,YAAP,CAAoB,MAApB,MAAgC,KAApC,EAA2C;EACzCgwB,QAAAA,MAAM,CAAC/iB,YAAP,CAAoB,eAApB,EAAqC,KAArC;EACD;EACF;;EAEDnN,IAAAA,OAAO,CAACkM,SAAR,CAAkBoJ,GAAlB,CAAsBvI,mBAAtB;;EACA,QAAI/M,OAAO,CAACE,YAAR,CAAqB,MAArB,MAAiC,KAArC,EAA4C;EAC1CF,MAAAA,OAAO,CAACmN,YAAR,CAAqB,eAArB,EAAsC,IAAtC;EACD;;EAEDvJ,IAAAA,MAAM,CAAC5D,OAAD,CAAN;;EAEA,QAAIA,OAAO,CAACkM,SAAR,CAAkBE,QAAlB,CAA2BqT,iBAA3B,CAAJ,EAAiD;EAC/Czf,MAAAA,OAAO,CAACkM,SAAR,CAAkBoJ,GAAlB,CAAsByC,iBAAtB;EACD;;EAED,QAAI/X,OAAO,CAACgD,UAAR,IAAsBhD,OAAO,CAACgD,UAAR,CAAmBkJ,SAAnB,CAA6BE,QAA7B,CAAsCujB,wBAAtC,CAA1B,EAA2F;EACzF,UAAMU,eAAe,GAAGrwB,OAAO,CAACiM,OAAR,CAAgBohB,mBAAhB,CAAxB;;EAEA,UAAIgD,eAAJ,EAAqB;EACnBzhB,QAAAA,cAAc,CAAC3J,IAAf,CAAoBqoB,0BAApB,EACGjrB,OADH,CACW,UAAAiuB,QAAQ;EAAA,iBAAIA,QAAQ,CAACpkB,SAAT,CAAmBoJ,GAAnB,CAAuBvI,mBAAvB,CAAJ;EAAA,SADnB;EAED;;EAED/M,MAAAA,OAAO,CAACmN,YAAR,CAAqB,eAArB,EAAsC,IAAtC;EACD;;EAED,QAAIuU,QAAJ,EAAc;EACZA,MAAAA,QAAQ;EACT;EACF;;;QAIMnV,kBAAP,yBAAuBtK,MAAvB,EAA+B;EAC7B,WAAO,KAAKuK,IAAL,CAAU,YAAY;EAC3B,UAAMjI,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB+F,UAAnB,KAAgC,IAAIglB,GAAJ,CAAQ,IAAR,CAA7C;;EAEA,UAAI,OAAO7tB,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF,KAVM,CAAP;EAWD;;QAEM0K,cAAP,qBAAmB3M,OAAnB,EAA4B;EAC1B,WAAO4E,IAAI,CAACG,OAAL,CAAa/E,OAAb,EAAsB8K,UAAtB,CAAP;EACD;;;;0BA3JoB;EACnB,aAAOD,SAAP;EACD;;;;;EA4JH;EACA;EACA;EACA;EACA;;;EAEApD,YAAY,CAAC+B,EAAb,CAAgB3J,QAAhB,EAA0BuL,sBAA1B,EAAgD4B,sBAAhD,EAAsE,UAAU1F,KAAV,EAAiB;EACrFA,EAAAA,KAAK,CAAC3B,cAAN;EAEA,MAAMpB,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB+F,UAAnB,KAAgC,IAAIglB,GAAJ,CAAQ,IAAR,CAA7C;EACAvrB,EAAAA,IAAI,CAAC2U,IAAL;EACD,CALD;EAOA,IAAM5S,GAAC,GAAGxC,SAAS,EAAnB;EAEA;EACA;EACA;EACA;EACA;EACA;;EACA;;EACA,IAAIwC,GAAJ,EAAO;EACL,MAAMsG,oBAAkB,GAAGtG,GAAC,CAACc,EAAF,CAAKwD,MAAL,CAA3B;EACAtE,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAaklB,GAAG,CAACvjB,eAAjB;EACAjG,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWiC,WAAX,GAAyBijB,GAAzB;;EACAxpB,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5BxG,IAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAagC,oBAAb;EACA,WAAOkjB,GAAG,CAACvjB,eAAX;EACD,GAHD;EAID;;EC3OD;EACA;EACA;EACA;EACA;;EAEA,IAAM3B,MAAI,GAAG,OAAb;EACA,IAAMC,SAAO,GAAG,cAAhB;EACA,IAAMC,UAAQ,GAAG,UAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EAEA,IAAMoU,qBAAmB,qBAAmBnU,WAA5C;EACA,IAAM8M,YAAU,YAAU9M,WAA1B;EACA,IAAM+M,cAAY,cAAY/M,WAA9B;EACA,IAAM4M,YAAU,YAAU5M,WAA1B;EACA,IAAM6M,aAAW,aAAW7M,WAA5B;EAEA,IAAM0U,iBAAe,GAAG,MAAxB;EACA,IAAM8Q,eAAe,GAAG,MAAxB;EACA,IAAMxY,iBAAe,GAAG,MAAxB;EACA,IAAMyY,kBAAkB,GAAG,SAA3B;EAEA,IAAMjgB,aAAW,GAAG;EAClB0W,EAAAA,SAAS,EAAE,SADO;EAElBwJ,EAAAA,QAAQ,EAAE,SAFQ;EAGlBrJ,EAAAA,KAAK,EAAE;EAHW,CAApB;EAMA,IAAMpX,SAAO,GAAG;EACdiX,EAAAA,SAAS,EAAE,IADG;EAEdwJ,EAAAA,QAAQ,EAAE,IAFI;EAGdrJ,EAAAA,KAAK,EAAE;EAHO,CAAhB;EAMA,IAAMvH,uBAAqB,GAAG,wBAA9B;EAEA;EACA;EACA;EACA;EACA;;MAEM6Q;EACJ,iBAAY1wB,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,SAAKwJ,QAAL,GAAgBzL,OAAhB;EACA,SAAKmT,OAAL,GAAe,KAAKC,UAAL,CAAgBnR,MAAhB,CAAf;EACA,SAAKinB,QAAL,GAAgB,IAAhB;;EACA,SAAKI,aAAL;;EACA1kB,IAAAA,IAAI,CAACC,OAAL,CAAa7E,OAAb,EAAsB8K,UAAtB,EAAgC,IAAhC;EACD;;;;;EAgBD;WAEAoO,OAAA,gBAAO;EAAA;;EACL,QAAMgE,SAAS,GAAGzV,YAAY,CAACuC,OAAb,CAAqB,KAAKyB,QAA1B,EAAoCkM,YAApC,CAAlB;;EAEA,QAAIuF,SAAS,CAACtX,gBAAd,EAAgC;EAC9B;EACD;;EAED,SAAK+qB,aAAL;;EAEA,QAAI,KAAKxd,OAAL,CAAa8T,SAAjB,EAA4B;EAC1B,WAAKxb,QAAL,CAAcS,SAAd,CAAwBoJ,GAAxB,CAA4BmK,iBAA5B;EACD;;EAED,QAAM5F,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,MAAA,KAAI,CAACpO,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BqkB,kBAA/B;;EACA,MAAA,KAAI,CAAC/kB,QAAL,CAAcS,SAAd,CAAwBoJ,GAAxB,CAA4ByC,iBAA5B;;EAEAtQ,MAAAA,YAAY,CAACuC,OAAb,CAAqB,KAAI,CAACyB,QAA1B,EAAoCmM,aAApC;;EAEA,UAAI,KAAI,CAACzE,OAAL,CAAasd,QAAjB,EAA2B;EACzB,QAAA,KAAI,CAACvH,QAAL,GAAgBpnB,UAAU,CAAC,YAAM;EAC/B,UAAA,KAAI,CAACmX,IAAL;EACD,SAFyB,EAEvB,KAAI,CAAC9F,OAAL,CAAaiU,KAFU,CAA1B;EAGD;EACF,KAXD;;EAaA,SAAK3b,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BokB,eAA/B;;EACA3sB,IAAAA,MAAM,CAAC,KAAK6H,QAAN,CAAN;;EACA,SAAKA,QAAL,CAAcS,SAAd,CAAwBoJ,GAAxB,CAA4Bkb,kBAA5B;;EACA,QAAI,KAAKrd,OAAL,CAAa8T,SAAjB,EAA4B;EAC1B,UAAMtmB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKiL,QAAN,CAA3D;EAEAhE,MAAAA,YAAY,CAACgC,GAAb,CAAiB,KAAKgC,QAAtB,EAAgCzM,cAAhC,EAAgD6a,QAAhD;EACAvY,MAAAA,oBAAoB,CAAC,KAAKmK,QAAN,EAAgB9K,kBAAhB,CAApB;EACD,KALD,MAKO;EACLkZ,MAAAA,QAAQ;EACT;EACF;;WAEDZ,OAAA,gBAAO;EAAA;;EACL,QAAI,CAAC,KAAKxN,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC2L,iBAAjC,CAAL,EAAwD;EACtD;EACD;;EAED,QAAMwF,SAAS,GAAG9V,YAAY,CAACuC,OAAb,CAAqB,KAAKyB,QAA1B,EAAoCoM,YAApC,CAAlB;;EAEA,QAAI0F,SAAS,CAAC3X,gBAAd,EAAgC;EAC9B;EACD;;EAED,QAAMiU,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,MAAA,MAAI,CAACpO,QAAL,CAAcS,SAAd,CAAwBoJ,GAAxB,CAA4Bib,eAA5B;;EACA9oB,MAAAA,YAAY,CAACuC,OAAb,CAAqB,MAAI,CAACyB,QAA1B,EAAoCqM,cAApC;EACD,KAHD;;EAKA,SAAKrM,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B4L,iBAA/B;;EACA,QAAI,KAAK5E,OAAL,CAAa8T,SAAjB,EAA4B;EAC1B,UAAMtmB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKiL,QAAN,CAA3D;EAEAhE,MAAAA,YAAY,CAACgC,GAAb,CAAiB,KAAKgC,QAAtB,EAAgCzM,cAAhC,EAAgD6a,QAAhD;EACAvY,MAAAA,oBAAoB,CAAC,KAAKmK,QAAN,EAAgB9K,kBAAhB,CAApB;EACD,KALD,MAKO;EACLkZ,MAAAA,QAAQ;EACT;EACF;;WAED7N,UAAA,mBAAU;EACR,SAAK2kB,aAAL;;EAEA,QAAI,KAAKllB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC2L,iBAAjC,CAAJ,EAAuD;EACrD,WAAKtM,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B4L,iBAA/B;EACD;;EAEDtQ,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAK+D,QAAtB,EAAgCyT,qBAAhC;EACAta,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKyG,QAArB,EAA+BX,UAA/B;EAEA,SAAKW,QAAL,GAAgB,IAAhB;EACA,SAAK0H,OAAL,GAAe,IAAf;EACD;;;WAIDC,aAAA,oBAAWnR,MAAX,EAAmB;EACjBA,IAAAA,MAAM,gBACD+N,SADC,EAEDtC,WAAW,CAACG,iBAAZ,CAA8B,KAAKpC,QAAnC,CAFC,EAGA,OAAOxJ,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHhD,CAAN;EAMAF,IAAAA,eAAe,CAAC6I,MAAD,EAAO3I,MAAP,EAAe,KAAK2b,WAAL,CAAiBrN,WAAhC,CAAf;EAEA,WAAOtO,MAAP;EACD;;WAEDqnB,gBAAA,yBAAgB;EAAA;;EACd7hB,IAAAA,YAAY,CAAC+B,EAAb,CAAgB,KAAKiC,QAArB,EAA+ByT,qBAA/B,EAAoDW,uBAApD,EAA2E;EAAA,aAAM,MAAI,CAAC5G,IAAL,EAAN;EAAA,KAA3E;EACD;;WAED0X,gBAAA,yBAAgB;EACdvb,IAAAA,YAAY,CAAC,KAAK8T,QAAN,CAAZ;EACA,SAAKA,QAAL,GAAgB,IAAhB;EACD;;;UAIM3c,kBAAP,yBAAuBtK,MAAvB,EAA+B;EAC7B,WAAO,KAAKuK,IAAL,CAAU,YAAY;EAC3B,UAAIjI,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB+F,UAAnB,CAAX;;EACA,UAAMqI,OAAO,GAAG,OAAOlR,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;EAEA,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAImsB,KAAJ,CAAU,IAAV,EAAgBvd,OAAhB,CAAP;EACD;;EAED,UAAI,OAAOlR,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ,CAAa,IAAb;EACD;EACF,KAfM,CAAP;EAgBD;;UAEM0K,cAAP,qBAAmB3M,OAAnB,EAA4B;EAC1B,WAAO4E,IAAI,CAACG,OAAL,CAAa/E,OAAb,EAAsB8K,UAAtB,CAAP;EACD;;;;0BA5IoB;EACnB,aAAOD,SAAP;EACD;;;0BAEwB;EACvB,aAAO0F,aAAP;EACD;;;0BAEoB;EACnB,aAAOP,SAAP;EACD;;;;;;EAqIH,IAAM1J,GAAC,GAAGxC,SAAS,EAAnB;EAEA;EACA;EACA;EACA;EACA;EACA;;EACA;;EACA,IAAIwC,GAAJ,EAAO;EACL,MAAMsG,oBAAkB,GAAGtG,GAAC,CAACc,EAAF,CAAKwD,MAAL,CAA3B;EACAtE,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAa8lB,KAAK,CAACnkB,eAAnB;EACAjG,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWiC,WAAX,GAAyB6jB,KAAzB;;EACApqB,EAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5BxG,IAAAA,GAAC,CAACc,EAAF,CAAKwD,MAAL,IAAagC,oBAAb;EACA,WAAO8jB,KAAK,CAACnkB,eAAb;EACD,GAHD;EAID;;ECxOD;EACA;EACA;EACA;EACA;EACA;AAcA,kBAAe;EACbf,EAAAA,KAAK,EAALA,KADa;EAEbyB,EAAAA,MAAM,EAANA,MAFa;EAGbyF,EAAAA,QAAQ,EAARA,QAHa;EAIb4F,EAAAA,QAAQ,EAARA,QAJa;EAKbkE,EAAAA,QAAQ,EAARA,QALa;EAMbwD,EAAAA,KAAK,EAALA,KANa;EAOb0M,EAAAA,OAAO,EAAPA,OAPa;EAQbe,EAAAA,SAAS,EAATA,SARa;EASbqC,EAAAA,GAAG,EAAHA,GATa;EAUbY,EAAAA,KAAK,EAALA,KAVa;EAWb1H,EAAAA,OAAO,EAAPA;EAXa,CAAf;;;;;;;;"} \ No newline at end of file
diff --git a/dist/js/bootstrap.esm.js b/dist/js/bootstrap.esm.js
index f636e90770..b47e0e9688 100644
--- a/dist/js/bootstrap.esm.js
+++ b/dist/js/bootstrap.esm.js
@@ -971,17 +971,6 @@ var Manipulator = {
top: element.offsetTop,
left: element.offsetLeft
};
- },
- toggleClass: function toggleClass(element, className) {
- if (!element) {
- return;
- }
-
- if (element.classList.contains(className)) {
- element.classList.remove(className);
- } else {
- element.classList.add(className);
- }
}
};
@@ -2226,8 +2215,10 @@ var Dropdown = /*#__PURE__*/function () {
this._element.setAttribute('aria-expanded', true);
- Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW$1);
- Manipulator.toggleClass(this._element, CLASS_NAME_SHOW$1);
+ this._menu.classList.toggle(CLASS_NAME_SHOW$1);
+
+ this._element.classList.toggle(CLASS_NAME_SHOW$1);
+
EventHandler.trigger(parent, EVENT_SHOWN$1, relatedTarget);
};
@@ -2250,8 +2241,10 @@ var Dropdown = /*#__PURE__*/function () {
this._popper.destroy();
}
- Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW$1);
- Manipulator.toggleClass(this._element, CLASS_NAME_SHOW$1);
+ this._menu.classList.toggle(CLASS_NAME_SHOW$1);
+
+ this._element.classList.toggle(CLASS_NAME_SHOW$1);
+
EventHandler.trigger(parent, EVENT_HIDDEN$1, relatedTarget);
};
diff --git a/dist/js/bootstrap.esm.js.map b/dist/js/bootstrap.esm.js.map
index 475381e8a5..3196944950 100644
--- a/dist/js/bootstrap.esm.js.map
+++ b/dist/js/bootstrap.esm.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.esm.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.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"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\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 {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\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) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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 mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\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 EventHandler.off(element, event.type, 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 // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\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 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.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\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.charAt(0) === '.'\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.indexOf(handlerKey) > -1) {\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 typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\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 if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\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.0-alpha2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-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 CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha2'\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-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 {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${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 toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.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 (this.matches(ancestor, 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 (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha2'\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 DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\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_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\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._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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 if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\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._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 direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...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 // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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 && PointerType[event.pointerType.toUpperCase()]) {\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 if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\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 switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\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 _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\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 indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\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\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 nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\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 (!data) {\n data = new Carousel(element, _config)\n }\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-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha2'\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-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${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 === 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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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 ||\n 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-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.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : 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.setData(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\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 if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-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 = Data.getData(element, DATA_KEY)\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 <a> elements (which change the URL) not inside the collapsible element\n if (event.target.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 = Data.getData(element, DATA_KEY)\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\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha2'\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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\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 = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || 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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (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 = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\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', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !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 hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\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 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 let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(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 Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (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 parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\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', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, 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 event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha2'\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 show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: '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_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\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-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\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) {\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 transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\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 Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n 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 (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\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._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\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 this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _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](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 (this.tagName === 'A' || this.tagName === 'AREA') {\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 let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\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):|[^#&/:?]*(?:[#/?]|$))/gi\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.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\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 (attrName.match(regExp[i])) {\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.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\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.0-alpha2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\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 Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha2'\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 = ['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: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\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 {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\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.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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 dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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 Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\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 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._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(CLASS_NAME_SHOW)\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 if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\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 (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\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-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 // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\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,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\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,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\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}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\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 titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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) ||\n 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 const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\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.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha2'\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 trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\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 VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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 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}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n 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 let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n isElement,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha2'\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-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 {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : 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, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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 Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\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 +\n scrollHeight -\n 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' ||\n 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-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 <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _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](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","add","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","focus","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","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","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.esm.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.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"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\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 {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\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) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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 mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\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 EventHandler.off(element, event.type, 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 // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\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 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.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\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.charAt(0) === '.'\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.indexOf(handlerKey) > -1) {\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 typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\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 if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\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.0-alpha2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-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 CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha2'\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-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 {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${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.0-alpha2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.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 (this.matches(ancestor, 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 (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha2'\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 DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\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_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\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._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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 if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\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._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 direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...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 // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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 && PointerType[event.pointerType.toUpperCase()]) {\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 if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\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 switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\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 _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\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 indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\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\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 nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\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 (!data) {\n data = new Carousel(element, _config)\n }\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-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha2'\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-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${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 === 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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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 ||\n 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-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.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : 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.setData(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\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 if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-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 = Data.getData(element, DATA_KEY)\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 <a> elements (which change the URL) not inside the collapsible element\n if (event.target.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 = Data.getData(element, DATA_KEY)\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\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha2'\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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\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 = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || 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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (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 = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\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', null, 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(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !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 hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\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 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 let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(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 Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (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 parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\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', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, 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 event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha2'\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 show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: '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_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\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-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\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) {\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 transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\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 Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n 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 (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\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._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\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 this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _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](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 (this.tagName === 'A' || this.tagName === 'AREA') {\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 let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\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):|[^#&/:?]*(?:[#/?]|$))/gi\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.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\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 (attrName.match(regExp[i])) {\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.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\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.0-alpha2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\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 Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha2'\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 = ['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: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\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 {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\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.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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 dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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 Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\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 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._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(CLASS_NAME_SHOW)\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 if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\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 (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\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-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 // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\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,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\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,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\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}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\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 titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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) ||\n 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 const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\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.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha2'\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 trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\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 VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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 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}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n 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 let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n isElement,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha2'\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-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 {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : 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, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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 Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\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 +\n scrollHeight -\n 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' ||\n 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-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 <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _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](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","add","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","focus","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","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","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":"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"} \ No newline at end of file
diff --git a/dist/js/bootstrap.js b/dist/js/bootstrap.js
index a042bf0a2a..94665e5da5 100644
--- a/dist/js/bootstrap.js
+++ b/dist/js/bootstrap.js
@@ -979,17 +979,6 @@
top: element.offsetTop,
left: element.offsetLeft
};
- },
- toggleClass: function toggleClass(element, className) {
- if (!element) {
- return;
- }
-
- if (element.classList.contains(className)) {
- element.classList.remove(className);
- } else {
- element.classList.add(className);
- }
}
};
@@ -2234,8 +2223,10 @@
this._element.setAttribute('aria-expanded', true);
- Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW$1);
- Manipulator.toggleClass(this._element, CLASS_NAME_SHOW$1);
+ this._menu.classList.toggle(CLASS_NAME_SHOW$1);
+
+ this._element.classList.toggle(CLASS_NAME_SHOW$1);
+
EventHandler.trigger(parent, EVENT_SHOWN$1, relatedTarget);
};
@@ -2258,8 +2249,10 @@
this._popper.destroy();
}
- Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW$1);
- Manipulator.toggleClass(this._element, CLASS_NAME_SHOW$1);
+ this._menu.classList.toggle(CLASS_NAME_SHOW$1);
+
+ this._element.classList.toggle(CLASS_NAME_SHOW$1);
+
EventHandler.trigger(parent, EVENT_HIDDEN$1, relatedTarget);
};
diff --git a/dist/js/bootstrap.js.map b/dist/js/bootstrap.js.map
index ff72666f86..89d1379094 100644
--- a/dist/js/bootstrap.js.map
+++ b/dist/js/bootstrap.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.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"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\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 {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\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) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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 mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\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 EventHandler.off(element, event.type, 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 // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\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 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.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\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.charAt(0) === '.'\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.indexOf(handlerKey) > -1) {\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 typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\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 if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\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.0-alpha2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-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 CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha2'\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-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 {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${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 toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.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 (this.matches(ancestor, 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 (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha2'\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 DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\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_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\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._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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 if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\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._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 direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...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 // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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 && PointerType[event.pointerType.toUpperCase()]) {\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 if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\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 switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\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 _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\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 indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\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\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 nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\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 (!data) {\n data = new Carousel(element, _config)\n }\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-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha2'\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-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${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 === 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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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 ||\n 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-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.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : 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.setData(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\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 if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-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 = Data.getData(element, DATA_KEY)\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 <a> elements (which change the URL) not inside the collapsible element\n if (event.target.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 = Data.getData(element, DATA_KEY)\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\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha2'\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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\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 = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || 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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (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 = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\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', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !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 hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\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 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 let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(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 Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (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 parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\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', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, 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 event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha2'\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 show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: '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_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\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-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\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) {\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 transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\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 Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n 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 (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\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._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\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 this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _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](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 (this.tagName === 'A' || this.tagName === 'AREA') {\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 let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\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):|[^#&/:?]*(?:[#/?]|$))/gi\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.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\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 (attrName.match(regExp[i])) {\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.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\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.0-alpha2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\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 Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha2'\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 = ['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: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\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 {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\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.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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 dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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 Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\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 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._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(CLASS_NAME_SHOW)\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 if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\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 (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\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-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 // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\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,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\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,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\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}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\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 titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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) ||\n 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 const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\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.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha2'\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 trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\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 VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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 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}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n 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 let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n isElement,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha2'\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-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 {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : 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, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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 Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\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 +\n scrollHeight -\n 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' ||\n 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-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 <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _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](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","add","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","focus","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","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","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.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"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\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 {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\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) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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 mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\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 EventHandler.off(element, event.type, 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 // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\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 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.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\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.charAt(0) === '.'\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.indexOf(handlerKey) > -1) {\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 typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\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 if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\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.0-alpha2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-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 CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha2'\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-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 {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): 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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${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.0-alpha2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.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 (this.matches(ancestor, 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 (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha2'\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 DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\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_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\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._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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 if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\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._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 direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...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 // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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 && PointerType[event.pointerType.toUpperCase()]) {\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 if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\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 switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\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 _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\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 indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\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\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 nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\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 (!data) {\n data = new Carousel(element, _config)\n }\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-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha2'\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-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${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 === 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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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 ||\n 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-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.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : 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.setData(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\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 if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-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 = Data.getData(element, DATA_KEY)\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 <a> elements (which change the URL) not inside the collapsible element\n if (event.target.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 = Data.getData(element, DATA_KEY)\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\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha2'\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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\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 = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || 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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (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 = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\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', null, 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(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !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 hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\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 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 let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(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 Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (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 parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\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', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, 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 event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha2'\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 show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: '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_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\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-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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 || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\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) {\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 transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\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 Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n 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 (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\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._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\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 this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _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](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 (this.tagName === 'A' || this.tagName === 'AREA') {\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 let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\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):|[^#&/:?]*(?:[#/?]|$))/gi\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.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\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 (attrName.match(regExp[i])) {\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.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\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.0-alpha2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\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 Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha2'\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 = ['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: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\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 {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\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.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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 dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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 Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\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 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._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(CLASS_NAME_SHOW)\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 if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\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 (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\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-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 // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\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,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\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,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\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}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\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 titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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) ||\n 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 const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\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.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha2'\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 trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\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 VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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 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}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n 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 let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n isElement,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha2'\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-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 {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : 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, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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 Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\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 +\n scrollHeight -\n 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' ||\n 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-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 <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _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\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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 event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _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](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","add","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","focus","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","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","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":"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"} \ No newline at end of file